45 explicit CsvWriter(
const std::string& filename);
66 [[nodiscard]] std::string
FileName()
const;
72 [[nodiscard]]
const std::string&
FullName()
const {
return filename_; }
78 void OpenFile(
const std::string& filename);
85 [[nodiscard]]
bool IsOk()
const;
127 template <
typename T>
135 [[nodiscard]] std::string
GetText()
const {
return text_.str(); }
148 [[nodiscard]]
size_t Columns()
const {
return max_columns_; }
156 [[nodiscard]]
size_t Rows()
const {
return row_count_; }
164 [[nodiscard]]
const std::string
Label(
size_t index)
const;
172 [[nodiscard]]
const std::string&
Name(
size_t index)
const;
180 [[nodiscard]]
const std::string&
Unit(
size_t index)
const;
184 std::ostringstream text_;
185 std::ostream* output_ =
nullptr;
187 std::string filename_;
188 size_t column_count_ = 0;
190 size_t max_columns_ =
192 size_t row_count_ = 0;
199 using NameUnitList = std::vector<Header>;
200 NameUnitList header_list_;
206 void SaveText(
const std::string& text);
211 auto temp = std::to_string(value);
213 if (row_count_ == 0) {
214 max_columns_ = std::max(column_count_, max_columns_);
bool IsOk() const
Returns true if the file is successfully opened.
bool IsColumnValid(size_t column) const
Indicate if there is any valid values in this column.
const std::string Label(size_t index) const
Returns suitable label text.
CsvWriter(const std::string &filename)
Constructor that opens a CSV file.
const std::string & Name(size_t index) const
Returns column name.
CsvWriter()
Constructor that opens a string stream instead of a physical file .
void OpenFile(const std::string &filename)
void AddRow()
Starts a new row. S.
void AddColumnHeader(const std::string &name, const std::string &unit, bool valid=true)
Adds a column header string.
const std::string & FullName() const
Definition csvwriter.h:71
size_t Columns() const
Returns number of columns.
Definition csvwriter.h:147
void Reset()
Reset the writer.
void SetColumnValid(size_t column, bool valid=true)
Sets the column valid.
std::string GetText() const
Returns the CSV 'file' as a string.
Definition csvwriter.h:134
void AddColumnValue(const T &value)
Adds a column value. Adds a column value to the file.
Definition csvwriter.h:209
const std::string & Unit(size_t index) const
Returns the column unit.
size_t Rows() const
Number of rows in the CSV file.
Definition csvwriter.h:155
virtual ~CsvWriter()
Destructor that closes the CSV file.
std::string FileName() const
The plot namespace is used for plotting related classes and functions.
Definition csvwriter.h:16