|
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::CSVFieldList | fields |
| std::unordered_map< size_t, std::string > | double_quote_fields = {} |
| Cached unescaped field values for fields with escaped quotes. | |
| std::mutex | double_quote_init_lock |
| Protects lazy initialization only. | |
| internals::ColNamesPtr | col_names = nullptr |
| internals::ParseFlagMap | parse_flags |
| internals::WhitespaceMap | ws_flags |
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 153 of file raw_csv_data.hpp.
Definition at line 154 of file raw_csv_data.hpp.
| internals::ColNamesPtr csv::internals::RawCSVData::col_names = nullptr |
Definition at line 166 of file raw_csv_data.hpp.
| csv::string_view csv::internals::RawCSVData::data = "" |
Definition at line 155 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 163 of file raw_csv_data.hpp.
|
mutable |
Protects lazy initialization only.
Definition at line 164 of file raw_csv_data.hpp.
| internals::CSVFieldList csv::internals::RawCSVData::fields |
Definition at line 157 of file raw_csv_data.hpp.
| internals::ParseFlagMap csv::internals::RawCSVData::parse_flags |
Definition at line 167 of file raw_csv_data.hpp.
| internals::WhitespaceMap csv::internals::RawCSVData::ws_flags |
Definition at line 168 of file raw_csv_data.hpp.