00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OUTPUTFILEHANDLER_HPP_
00031 #define OUTPUTFILEHANDLER_HPP_
00032
00033 #include <string>
00034 #include <fstream>
00035 #include <sstream>
00036 #include <memory>
00037
00039 typedef std::auto_ptr<std::ofstream> out_stream;
00040
00046 class OutputFileHandler
00047 {
00048 private:
00049 std::string mDirectory;
00050 bool mAmMaster;
00051
00052 public:
00064 OutputFileHandler(const std::string &rDirectory,
00065 bool rCleanOutputDirectory = true);
00066
00074 static std::string GetChasteTestOutputDirectory();
00075
00089 std::string GetOutputDirectoryFullPath(std::string directory);
00094 std::string GetOutputDirectoryFullPath();
00095
00105 out_stream OpenOutputFile(std::string fileName,
00106 std::ios_base::openmode mode=std::ios::out | std::ios::trunc);
00107
00108
00121 out_stream OpenOutputFile(std::string fileName,
00122 unsigned number,
00123 std::string fileFormat,
00124 std::ios_base::openmode mode=std::ios::out | std::ios::trunc);
00128 bool IsMaster();
00129
00130 };
00131
00132 #endif