#ifndef CSVPARSER_H #define CSVPARSER_H #include namespace rapidcsv { class Document; } class CsvParser { public: static QList> getItemsFromCSVFile(const QString& fileName); private: explicit CsvParser(); static bool isCsvCompatible(const rapidcsv::Document& doc); static QList> createListItemsFromCsvEntries(const rapidcsv::Document& doc); static QHash> extractColumnValues( const QList headerNames, const rapidcsv::Document& doc); static QHash getItemValuesForRow( const QList& headerNames, const QHash>& columnValueMap, const int row); static QVariant parseItemValue(const int role, const std::string& valueString); }; #endif // CSVPARSER_H