#pragma once #include #include #include #include #include #include "parser.h" #include "table.h" namespace usql { class CsvReader { private: char field_separator; char line_separator; char line_separator2; char quote_character; bool skip_header; bool header_skiped; public: explicit CsvReader(bool skip_hdr = true, char field_sep = ',', char quote_ch = '"', char line_sep = '\r', char line_sep2 = '\n'); size_t parseCSVFile(const std::string &filename, std::vector &cols_def, Table& table); size_t parseCSVString(const std::string &csvSource, std::vector &cols_def, Table& table); }; } // namespace