Vince's CSV Parser
Loading...
Searching...
No Matches
csv::internals::RawCSVData Struct Reference

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.
 

Detailed Description

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.

Member Data Documentation

◆ _data

std::shared_ptr<void> csv::internals::RawCSVData::_data = nullptr

Definition at line 157 of file raw_csv_data.hpp.

◆ col_names

internals::ColNamesPtr csv::internals::RawCSVData::col_names = nullptr

Definition at line 171 of file raw_csv_data.hpp.

◆ data

csv::string_view csv::internals::RawCSVData::data = ""

Definition at line 158 of file raw_csv_data.hpp.

◆ double_quote_fields

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.

◆ fields

internals::RawCSVFieldList csv::internals::RawCSVData::fields

Definition at line 160 of file raw_csv_data.hpp.

◆ has_ws_trimming

bool csv::internals::RawCSVData::has_ws_trimming = false

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.

◆ parse_flags

internals::ParseFlagMap csv::internals::RawCSVData::parse_flags

Definition at line 172 of file raw_csv_data.hpp.

◆ ws_flags

internals::WhitespaceMap csv::internals::RawCSVData::ws_flags

Definition at line 173 of file raw_csv_data.hpp.


The documentation for this struct was generated from the following file: