The OpenD Programming Language

CsvReader

Rapid CSV reader represented as a range of rows.

The structure isn't copyable. Please use it's pointer with range modifiers.

Exactly one call of empty has to be preciding each call of front. Exactly one call of popFront has to be following each call of front. Some Phobos functions doesn't follow this rule.

All elements of the each row have to be accessed exactly once before the next row can be processed.

Constructors

this
this(const(char)[] text, char separator, char quote, char comment, uint skipRows, bool fill, bool skipEmptyLines, uint nColumns)

Members

Enums

Error
enum Error

Functions

empty
bool empty()
front
Row front()
popFront
void popFront()

The function has be called after the all row cell values have been precessed.

Structs

Row
struct Row

CSV Row Input Range

Scalar
struct Scalar

CSV cell element

Variables

fill
bool fill;
nColumns
uint nColumns;
quote
char quote;

Symbol to quote scalars

rowIndex
uint rowIndex;
separator
char separator;

Scalar separator

skipEmptyLines
bool skipEmptyLines;
text
const(char)[] text;

An input CSV text. BOM isn't supported.

Meta