/* filesystem/file.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_FILESYSTEM_FILE_H__ #define __INCLUDED_FILESYSTEM_FILE_H__ // C++ headers #include #include namespace filesystem { /// a class to open data files class File : public std::ifstream { public: File(); virtual ~File(); /// open the file for reading virtual void open(const char * filename, std::ios_base::openmode mode = std::ios_base::in); /// current filename inline std::string name() { return file_name; } /// current full path inline std::string path() { return real_name; } private: std::string file_name; std::string real_name; } ; // class File } // namespace filesystem #endif // __INCLUDED_FILESYSTEM_FILE_H__