#include "../ml.h" #include #include #include class CsvParser { private: char field_separator; char line_separator; char line_separator2; char quote_character; bool skip_header; bool header_skiped; public: CsvParser(bool skip_hdr = false, char field_sep = ',', char quote_ch = '"', char line_sep = '\r', char line_sep2 = '\n'); MlValue parseCSV(const std::string &csvSource); private: void addLine(const std::vector &line, std::vector > &lines); MlValue ivalualize(std::vector > &parsed_data) const; bool is_string_int(const std::string &str) const; bool is_string_float(const std::string &str) const; };