Vince's CSV Parser
csv::internals::MmapParser Class Reference

Parser for memory-mapped files. More...

#include <basic_csv_parser.hpp>

Inherits csv::internals::IBasicCSVParser.

Public Member Functions

 MmapParser (csv::string_view filename, const CSVFormat &format, const ColNamesPtr &col_names=nullptr)
 
void next (size_t bytes) override
 Parse the next block of data.
 
- Public Member Functions inherited from csv::internals::IBasicCSVParser
 IBasicCSVParser (const CSVFormat &, const ColNamesPtr &)
 
 IBasicCSVParser (const ParseFlagMap &parse_flags, const WhitespaceMap &ws_flags)
 
bool eof ()
 Whether or not we have reached the end of source.
 
void end_feed ()
 Indicate the last block of data has been parsed.
 
CONSTEXPR_17 ParseFlags parse_flag (const char ch) const noexcept
 
CONSTEXPR_17 ParseFlags compound_parse_flag (const char ch) const noexcept
 
CONSTEXPR bool utf8_bom () const
 Whether or not this CSV has a UTF-8 byte order mark.
 
void set_output (RowCollection &rows)
 

Additional Inherited Members

- Protected Member Functions inherited from csv::internals::IBasicCSVParser
CONSTEXPR bool no_chunk () const
 Whether or not source needs to be read in chunks.
 
size_t parse ()
 Parse the current chunk of data *. More...
 
void reset_data_ptr ()
 Create a new RawCSVDataPtr for a new chunk of data.
 
- Protected Attributes inherited from csv::internals::IBasicCSVParser
CSVRow current_row
 
RawCSVDataPtr data_ptr = nullptr
 
ColNamesPtr _col_names = nullptr
 
CSVFieldListfields = nullptr
 
int field_start = UNINITIALIZED_FIELD
 
size_t field_length = 0
 
ParseFlagMap _parse_flags
 An array where the (i + 128)th slot gives the ParseFlags for ASCII character i.
 
bool _eof = false
 
size_t source_size = 0
 The size of the incoming CSV.
 

Detailed Description

Parser for memory-mapped files.

Implementation
This class constructs moving windows over a file to avoid creating massive memory maps which may require more RAM than the user has available. It contains logic to automatically re-align each memory map to the beginning of a CSV row.

Definition at line 373 of file basic_csv_parser.hpp.


The documentation for this class was generated from the following files: