CSV Parser

template <typename _Handler>
class csv_parser : public orcus::csv::parser_base

Public Types

typedef _Handler handler_type

Public Functions

csv_parser(const char *p, size_t n, handler_type &hdl, const csv::parser_config &config)
void parse()
struct parser_config

Run-time configuration object for orcus::csv_parser.

Public Functions

parser_config()

Public Members

std::string delimiters

One or more characters that serve as cell boundaries.

char text_qualifier

A single character used as a text quote value.

bool trim_cell_value

When true, the value of each cell gets trimmed i.e. any leading or trailing white spaces will get ignored.

Parser Handler

class csv_parser_handler

Public Functions

void begin_parse()

Called when the parser starts parsing a stream.

void end_parse()

Called when the parser finishes parsing a stream.

void begin_row()

Called at the beginning of every row.

void end_row()

Called at the end of every row.

void cell(const char *p, size_t n, bool transient)

Called after every cell is parsed.

Parameters
  • p: pointer to the first character of a cell content.
  • n: number of characters the cell content consists of.
  • transient: when true, the text content has been converted and is stored in a temporary buffer. In such case, there is no guarantee that the text content remain available after the end of the call. When this value is false, the text content is guaranteed to be valid so long as the original CSV stream content is valid.