CsvDialect Struct Reference#

DiFfRG: DiFfRG::CsvDialect Struct Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::CsvDialect Struct Reference

The CSV dialect DiFfRG reads and writes. More...

#include <csv.hh>

Public Attributes

char separator = ','
 
bool has_header = false
 
char comment = '#'
 

Detailed Description

The CSV dialect DiFfRG reads and writes.

The same rules are implemented by the analysis-side readers in julia/src/io/csv.jl and python/DiFfRG/file_io/csv.py, so a file written by CsvOutput loads identically in all three.

Data cells hold numbers only and are parsed with std::from_chars, which is locale-independent. A cell that is empty or does not parse becomes NaN rather than raising, so a run that wrote an inf or left a gap still loads and the gap stays visible in the data. Header names may be quoted in the RFC-4180 sense, which is the only way a name can contain the separator. Rows whose field count differs from the header are skipped. Comment lines, blank lines, a UTF-8 BOM and CRLF line endings are all tolerated.

Member Data Documentation

◆ comment

char DiFfRG::CsvDialect::comment = '#'

Lines whose first non-space character is this are skipped. Set to '\0' to disable.

◆ has_header

bool DiFfRG::CsvDialect::has_header = false

Whether the first non-comment, non-blank line names the columns.

◆ separator

char DiFfRG::CsvDialect::separator = ','

The character separating fields within a line.


The documentation for this struct was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/csv.hh