/** * @file FileWriter.cpp * * @date Jan 15, 2012 * @author Alex Cunningham */ #include "FileWriter.h" #include "utilities.h" #include #include using namespace std; using namespace boost::gregorian; using namespace wrap; /* ************************************************************************* */ FileWriter::FileWriter(const string& filename, const string& comment_str) : filename_(filename), comment_str_(comment_str) { } /* ************************************************************************* */ void FileWriter::emit(bool add_header, bool force) const { // Standard write - just overwrite for verification ofstream ofs(filename_.c_str()); if (!ofs) throw CantOpenFile(filename_); // header if (add_header) { date today = day_clock::local_day(); ofs << comment_str_ << " automatically generated by wrap on " << today << endl; } // dump in stringstream ofs << oss.str(); ofs.close(); // TODO: add the following checks // check for existing file // if exists and we are not forcing writing, read and compare // if different, write the file with contents of this stream // add header } /* ************************************************************************* */