summaryrefslogtreecommitdiff
path: root/src/csvbuilder.h
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2018-02-22 16:54:34 +0100
committerSandro Jäckel <sandro.jaeckel@gmail.com>2018-02-22 16:54:34 +0100
commit5e5c9c07291f6b09623d31c92b1fb61c4ede576e (patch)
tree0684c123db375336e0e03f0240155a12e744db16 /src/csvbuilder.h
parent5ad912e1934061b38825801a27f7c12933878005 (diff)
Applied clang-format on source
Diffstat (limited to 'src/csvbuilder.h')
-rw-r--r--src/csvbuilder.h99
1 files changed, 38 insertions, 61 deletions
diff --git a/src/csvbuilder.h b/src/csvbuilder.h
index f2e0e987..70d712c4 100644
--- a/src/csvbuilder.h
+++ b/src/csvbuilder.h
@@ -1,93 +1,70 @@
#ifndef CSVBUILDER_H
#define CSVBUILDER_H
-
-#include <vector>
#include <QString>
-#include <QVariant>
#include <QTextStream>
-
+#include <QVariant>
+#include <vector>
class CSVException : public std::exception {
public:
- CSVException(const QString &text)
- : std::exception(), m_Message(text.toLocal8Bit()) {}
+ CSVException(const QString& text) : std::exception(), m_Message(text.toLocal8Bit()) {}
- virtual const char* what() const throw()
- { return m_Message.constData(); }
-private:
- QByteArray m_Message;
+ virtual const char* what() const throw() { return m_Message.constData(); }
+private:
+ QByteArray m_Message;
};
-
-class CSVBuilder
-{
+class CSVBuilder {
public:
+ enum EFieldType { TYPE_INTEGER, TYPE_STRING, TYPE_FLOAT };
- enum EFieldType {
- TYPE_INTEGER,
- TYPE_STRING,
- TYPE_FLOAT
- };
+ enum EQuoteMode { QUOTE_NEVER, QUOTE_ONDEMAND, QUOTE_ALWAYS };
- enum EQuoteMode {
- QUOTE_NEVER,
- QUOTE_ONDEMAND,
- QUOTE_ALWAYS
- };
-
- enum ELineBreak {
- BREAK_LF,
- BREAK_CRLF,
- BREAK_CR
- };
+ enum ELineBreak { BREAK_LF, BREAK_CRLF, BREAK_CR };
public:
+ CSVBuilder(QIODevice* target);
+ ~CSVBuilder();
- CSVBuilder(QIODevice *target);
- ~CSVBuilder();
-
- void setFieldSeparator(char sep);
- void setLineBreak(ELineBreak lineBreak);
- void setEscapeMode(EFieldType type, EQuoteMode mode);
- void setFields(const std::vector<std::pair<QString, EFieldType> > &fields);
- void setDefault(const QString &field, const QVariant &value);
+ void setFieldSeparator(char sep);
+ void setLineBreak(ELineBreak lineBreak);
+ void setEscapeMode(EFieldType type, EQuoteMode mode);
+ void setFields(const std::vector<std::pair<QString, EFieldType>>& fields);
+ void setDefault(const QString& field, const QVariant& value);
- void writeHeader();
+ void writeHeader();
- void setRowField(const QString &field, const QVariant &value);
- void writeRow();
+ void setRowField(const QString& field, const QVariant& value);
+ void writeRow();
- void addRow(const std::map<QString, QVariant> &data);
+ void addRow(const std::map<QString, QVariant>& data);
private:
+ const char* lineBreak();
+ const char separator();
- const char *lineBreak();
- const char separator();
+ void fieldValid();
+ void checkFields(const std::vector<QString>& fields);
+ void checkValue(const QString& field, const QVariant& value);
+ void writeData(const std::map<QString, QVariant>& data, bool check);
- void fieldValid();
- void checkFields(const std::vector<QString> &fields);
- void checkValue(const QString &field, const QVariant &value);
- void writeData(const std::map<QString, QVariant> &data, bool check);
-
- void quoteInsert(QTextStream &stream, int value);
- void quoteInsert(QTextStream &stream, float value);
- void quoteInsert(QTextStream &stream, const QString &value);
+ void quoteInsert(QTextStream& stream, int value);
+ void quoteInsert(QTextStream& stream, float value);
+ void quoteInsert(QTextStream& stream, const QString& value);
private:
-
- QTextStream m_Out;
- char m_Separator;
- ELineBreak m_LineBreak;
- std::map<EFieldType, EQuoteMode> m_QuoteMode;
- std::vector<QString> m_Fields;
- std::map<QString, EFieldType> m_FieldTypes;
- std::map<QString, QVariant> m_Defaults;
- std::map<QString, QVariant> m_RowBuffer;
-
+ QTextStream m_Out;
+ char m_Separator;
+ ELineBreak m_LineBreak;
+ std::map<EFieldType, EQuoteMode> m_QuoteMode;
+ std::vector<QString> m_Fields;
+ std::map<QString, EFieldType> m_FieldTypes;
+ std::map<QString, QVariant> m_Defaults;
+ std::map<QString, QVariant> m_RowBuffer;
};
#endif // CSVBUILDER_H