astra-sim-alibabacloud/astra-sim/workload/CSVWriter.hh (39 lines of code) (raw):

/****************************************************************************** This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. *******************************************************************************/ #ifndef __CSVWRITER_HH__ #define __CSVWRITER_HH__ #include <fcntl.h> #include <math.h> #include <sys/stat.h> #include <unistd.h> #include <chrono> #include <cstdint> #include <ctime> #include <fstream> #include <iostream> #include <list> #include <map> #include <tuple> #include <vector> namespace AstraSim { class CSVWriter { public: // std::fstream inFile; std::fstream myFile; void initialize_csv(int rows, int cols); void finalize_csv(std::list<std::list<std::pair<uint64_t, double>>> dims); CSVWriter(std::string path, std::string name); void write_cell(int row, int column, std::string data); void write_line(std::string data); void write_res(std::string data); std::string path; std::string name; ~CSVWriter() { if (myFile.is_open()) { myFile.close(); } } inline bool exists_test(const std::string& name) { struct stat buffer; return (stat(name.c_str(), &buffer) == 0); } }; } // namespace AstraSim #endif