CsvLogger.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <fstream>
4 #include <map>
5 #include <memory>
6 #include <string>
7 
9 class CSVLogger
10 {
11  typedef std::map<std::string, double> columns_type;
12 
13  public:
14  CSVLogger();
15  virtual ~CSVLogger();
16 
17  public:
18  void addColumn(std::string name);
19  void updateColumn(std::string name, double value);
20  bool writeHeader();
21  bool writeRow();
22 
23  void setFilepath(std::string path) { filepath_ = path; }
24  bool open();
25  bool isOpen();
26  bool close();
27  bool clear();
28 
29  void setRecording(bool recording) { isRecording = recording; }
30  void newSession();
31 
32  private:
34  std::shared_ptr<std::ofstream> file_;
35  std::string filepath_;
36  bool isRecording = false;
37  unsigned int currentSession = 1;
38 };
CSVLogger::currentSession
unsigned int currentSession
Definition: CsvLogger.h:37
CSVLogger::columns_
columns_type columns_
Definition: CsvLogger.h:33
CSVLogger::setRecording
void setRecording(bool recording)
Definition: CsvLogger.h:29
CSVLogger::isRecording
bool isRecording
Definition: CsvLogger.h:36
CSVLogger::addColumn
void addColumn(std::string name)
Definition: CsvLogger.cpp:6
CSVLogger::clear
bool clear()
Definition: CsvLogger.cpp:72
CSVLogger
Definition: CsvLogger.h:9
CSVLogger::writeHeader
bool writeHeader()
Definition: CsvLogger.cpp:9
CSVLogger::updateColumn
void updateColumn(std::string name, double value)
Definition: CsvLogger.cpp:7
CSVLogger::~CSVLogger
virtual ~CSVLogger()
Definition: CsvLogger.cpp:5
CSVLogger::close
bool close()
Definition: CsvLogger.cpp:62
CSVLogger::setFilepath
void setFilepath(std::string path)
Definition: CsvLogger.h:23
CSVLogger::writeRow
bool writeRow()
Definition: CsvLogger.cpp:27
CSVLogger::newSession
void newSession()
Definition: CsvLogger.cpp:84
CSVLogger::isOpen
bool isOpen()
Definition: CsvLogger.cpp:61
CSVLogger::file_
std::shared_ptr< std::ofstream > file_
Definition: CsvLogger.h:34
CSVLogger::filepath_
std::string filepath_
Definition: CsvLogger.h:35
CSVLogger::CSVLogger
CSVLogger()
Definition: CsvLogger.cpp:3
CSVLogger::columns_type
std::map< std::string, double > columns_type
Definition: CsvLogger.h:11
CSVLogger::open
bool open()
Definition: CsvLogger.cpp:49


mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:07