5#include "qx/core/qx_core_export.h"
12#include "qx/core/qx-table.h"
14using namespace Qt::Literals::StringLiterals;
33 static inline const QHash<ParseError, QString> ERROR_STR_MAP{
34 {NoError, u
"No error occurred."_s},
35 {IllegalEscape, u
"Illegal use of an escape character."_s},
36 {UnterminatedField, u
"An escaped field was not properly terminated."_s},
37 {UnevenColumns, u
"A row contained a different number of fields than the header row."_s},
38 {InternalError, u
"An internal parser error occurred."_s}
49 DsvParseError(ParseError error, qsizetype offset);
53 ParseError error()
const;
54 QString errorString()
const;
55 qsizetype offset()
const;
65 DsvTable(std::initializer_list<std::initializer_list<QVariant>> table);
73 QByteArray
toDsv(QChar delim =
',', QChar esc =
'"');
The DsvParseError class is used to report errors while parsing an array of delimiter separated values...
Definition qx-dsvtable.h:20
ParseError
Definition qx-dsvtable.h:23
@ IllegalEscape
Definition qx-dsvtable.h:25
@ NoError
Definition qx-dsvtable.h:24
@ InternalError
Definition qx-dsvtable.h:28
@ UnevenColumns
Definition qx-dsvtable.h:27
@ UnterminatedField
Definition qx-dsvtable.h:26
DsvParseError()
Definition qx-dsvtable.cpp:58
DsvTable()
Definition qx-dsvtable.cpp:123
static DsvTable fromDsv(const QByteArray &dsv, QChar delim=',', QChar esc='"', DsvParseError* error = nullptr)
Definition qx-dsvtable.cpp:155
QByteArray toDsv(QChar delim=',', QChar esc='"')
Definition qx-dsvtable.cpp:278
QVariant value(qsizetype r, qsizetype c) const
Definition qx-table.h:165
Table()
Definition qx-table.h:27
QSize size() const
Definition qx-table.h:163
The Qx namespace is the main namespace through which all non-global functionality of the Qx library i...
Definition qx-abstracterror.cpp:13