|
Vince's CSV Parser
|
A class for storing raw CSV data and associated metadata. More...
#include <raw_csv_data.hpp>
Public Attributes | |
| std::shared_ptr< void > | _data = nullptr |
| csv::string_view | data = "" |
| internals::RawCSVFieldList | fields |
| std::unordered_map< size_t, std::string > | double_quote_fields = {} |
| Cached unescaped field values for fields with escaped quotes. | |
| internals::ColNamesPtr | col_names = nullptr |
| internals::ParseFlagMap | parse_flags |
| internals::WhitespaceMap | ws_flags |
| bool | has_ws_trimming = false |
| True when at least one whitespace trim character is configured. | |
A class for storing raw CSV data and associated metadata.
This structure is the bridge between the parser thread and the main thread. Parser populates fields, data, and parse_flags; main thread reads via CSVRow.
Definition at line 156 of file raw_csv_data.hpp.
Definition at line 157 of file raw_csv_data.hpp.
| internals::ColNamesPtr csv::internals::RawCSVData::col_names = nullptr |
Definition at line 171 of file raw_csv_data.hpp.
| csv::string_view csv::internals::RawCSVData::data = "" |
Definition at line 158 of file raw_csv_data.hpp.
| std::unordered_map<size_t, std::string> csv::internals::RawCSVData::double_quote_fields = {} |
Cached unescaped field values for fields with escaped quotes.
Thread-safe lazy initialization using double-check locking. Lock is only held during rare concurrent initialization; reads are lock-free.
Definition at line 166 of file raw_csv_data.hpp.
| internals::RawCSVFieldList csv::internals::RawCSVData::fields |
Definition at line 160 of file raw_csv_data.hpp.
True when at least one whitespace trim character is configured.
Used by get_field_impl() to skip trim work in the common no-trim case.
Definition at line 178 of file raw_csv_data.hpp.
| internals::ParseFlagMap csv::internals::RawCSVData::parse_flags |
Definition at line 172 of file raw_csv_data.hpp.
| internals::WhitespaceMap csv::internals::RawCSVData::ws_flags |
Definition at line 173 of file raw_csv_data.hpp.