26 using Ptr = std::shared_ptr<CSVLogger>;
37 std::function<void(
const std::map<std::string_view, double>& )>;
40 void updateColumn(
const std::string_view& name,
double value);
44 void setFilepath(
const std::string& path) { filepath_ = path; }
50 void setRecording(
bool recording) { isRecording_ = recording; }
51 [[nodiscard]]
bool isRecording()
const {
return isRecording_; }
57 [[nodiscard]]
bool isFileWritingEnabled()
const {
return fileWritingEnabled_; }
67 [[nodiscard]]
bool isActive()
const {
return isRecording_ || !onRowCallbacks_.empty(); }
70 [[nodiscard]]
const std::map<std::string_view, double>&
getColumns()
const {
return columns_; }
73 std::map<std::string_view, double> columns_;
74 std::shared_ptr<std::ofstream> file_;
75 std::string filepath_;
76 bool isRecording_ =
false;
77 bool fileWritingEnabled_ =
true;
79 std::vector<on_row_callback_t> onRowCallbacks_;
Definition: CsvLogger.h:21
bool isActive() const
Definition: CsvLogger.h:67
void setFileWritingEnabled(bool enabled)
Definition: CsvLogger.h:56
void registerOnRowCallback(const on_row_callback_t &cb)
Definition: CsvLogger.h:62
std::function< void(const std::map< std::string_view, double > &)> on_row_callback_t
Definition: CsvLogger.h:37
const std::map< std::string_view, double > & getColumns() const
Read-only access to the current column values.
Definition: CsvLogger.h:70