15 #ifndef BORNAGAIN_GUI2_DATALOADER_DEFAULTPARSER_H
16 #define BORNAGAIN_GUI2_DATALOADER_DEFAULTPARSER_H
18 #include "darefl_export.h"
36 void process(
const std::vector<std::string>& raw_data)
override;
38 size_t totalLineCount()
const override;
40 std::string getLine(
size_t index)
const override;
42 std::vector<std::string> parseResults(
size_t index)
const override;
44 std::vector<std::vector<std::string>> parsedData()
const override;
Provides basic algorirthm for parsing multi-string data representing content of multi-column ASCII fi...
accept_int_t m_isSkipLineNumber
accept_string_t m_isValidLineContent
std::map< size_t, std::vector< std::string > > m_parsedData
std::vector< std::string > m_rawData
correspondence of parsed data to original line index
line_splitter_t m_line_splitter
Interface for all classes capable of parsing ASCII data into multicolumn presentation.
Based on Qt example "codeeditor" Copyright (C) 2016 The Qt Company Ltd.
std::function< bool(const std::string &line)> accept_string_t
Function to define if given string should be accepted for further consideration.
std::function< bool(int)> accept_int_t
Function to define if given index satisfies criteria.
std::function< std::vector< std::string >(const std::string &line)> line_splitter_t
Function to define line splitter according to some criteria.
Parser options to process multi column ASCII files.