32 const std::array<
bool,
sizeof...(T)>&
disabled)
38 m_output.open(
file, std::ios::out);
40 for (
const auto&
column : this->m_column_description) {
47 m_output << std::quoted(fmt::format(
"{} [{}]",
column.name,
column.unit));
49 m_output << std::quoted(
column.name);
73 if constexpr (std::is_same_v<std::decay_t<
decltype(
arg)>, std::string>) {
74 m_output << std::quoted(
arg);
76 m_output <<
"\"" <<
arg <<
"\"";
80 if constexpr (std::is_same_v<std::decay_t<
decltype(
arg)>, std::string>) {
81 m_output <<
"," << std::quoted(
arg);
83 m_output <<
",\"" <<
arg <<
"\"";
void Close() override
Close the currently open file.
Definition csvDataRecorder.ipp:56
CsvDataRecorder(const ColumnDescription &columns, const std::array< bool, sizeof...(T)> &disabled={})
Create a new recorder.
Definition csvDataRecorder.ipp:31
typename DataRecorder< T... >::ColumnDescription ColumnDescription
Definition csvDataRecorder.hpp:35
void Open(const std::filesystem::path &file) override
Open a file.
Definition csvDataRecorder.ipp:37
void Write(const std::tuple< T... > &data) override
Write a single row of data.
Definition csvDataRecorder.ipp:61
This is an abstract class that can be used to implement an OutputStage for a Recording Unit.
Definition dataRecorder.hpp:29
CSVDataRecorder allows to record as CSV files .
Definition commandReplier.cpp:22
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23