/** * Author: Nigel Brown * * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson. */ /** * InFileStream subclasses std::ifstream, adding a check for the end-of-line * character convention in the input file. This is then used by the getline() * member as the line delimiter, unless the caller supplies an explicit * delimiter. * * Created: 09-02-07,Nigel Brown(EMBL) ***************************************************************************/ #ifndef INFILESTREAM_H #define INFILESTREAM_H #include #include #include #include class InFileStream : public std::ifstream { public: InFileStream(); InFileStream(const char *filename); //- InFileStream(const InFileStream ©); void open(const char *filename); void close(); //int get(); //bool is_open(); std::istream& getline(char *s, std::streamsize n);/*{return ifstream::getline(s, n, delim);}*/ std::istream& getline(char *s, std::streamsize n, char delim); /*{ return ifstream::getline(s, n, delim); }*/ protected: char findDelimiter(); private: //disable copy-constructor InFileStream(const InFileStream ©); std::string filename; //auto_ptr inFile; char delim; }; #endif //INFILESTREAM_H