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::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
 

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 153 of file raw_csv_data.hpp.

Member Data Documentation

◆ _data

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

Definition at line 154 of file raw_csv_data.hpp.

◆ col_names

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

Definition at line 166 of file raw_csv_data.hpp.

◆ data

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

Definition at line 155 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 163 of file raw_csv_data.hpp.

◆ double_quote_init_lock

std::mutex csv::internals::RawCSVData::double_quote_init_lock
mutable

Protects lazy initialization only.

Definition at line 164 of file raw_csv_data.hpp.

◆ fields

internals::CSVFieldList csv::internals::RawCSVData::fields

Definition at line 157 of file raw_csv_data.hpp.

◆ parse_flags

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

Definition at line 167 of file raw_csv_data.hpp.

◆ ws_flags

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

Definition at line 168 of file raw_csv_data.hpp.


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