48 virtual std::unique_ptr<ConfigBase>
read(CLI::App* app,
bool verbose) = 0;
57 static std::string
trim(
const std::string& untrimmed_str);
65 static bool parseBool(
const std::string& bool_str,
bool& out);
73 static bool parseDouble(
const std::string& double_str,
double& out);
81 static bool parseInt(
const std::string& int_str,
int& out);
97 const std::unordered_map<std::string, std::string>& config_map);
113 std::unique_ptr<ConfigBase>
read(CLI::App* app,
bool verbose)
override;
123 std::vector<std::string>
splitCsvLine(
const std::string& line)
const;
139 std::unique_ptr<ConfigBase>
read(CLI::App* app,
bool verbose)
override;
158 std::unique_ptr<ConfigBase>
read(CLI::App* app,
bool verbose)
override;
Test fixture class for ReaderBase unit tests.
Definition reader_base_tester.hpp:12
Base class for Reader classes.
Definition reader.hpp:30
static bool parseBool(const std::string &bool_str, bool &out)
Helper static method to parse a boolean value from a string.
Definition reader.cpp:26
static bool parseInt(const std::string &int_str, int &out)
Helper static method to parse an integer value from a string.
Definition reader.cpp:51
static std::string trim(const std::string &untrimmed_str)
Helper static method to trim leading and trailing whitespace from a string.
Definition reader.cpp:14
virtual ~ReaderBase()=default
Virtual destructor for ReaderBase.
char quote
Quote/delimiter character.
Definition reader.hpp:36
virtual std::unique_ptr< ConfigBase > read(CLI::App *app, bool verbose)=0
Read the configuration from the input.
static bool parseMethod(const std::string &method_str, Method &out)
Helper static method to parse a Method enum value from a string.
Definition reader.cpp:61
std::string filename
The input filename to read from.
Definition reader.hpp:34
static bool parseDouble(const std::string &double_str, double &out)
Helper static method to parse a double value from a string.
Definition reader.cpp:41
char sep
Field separator character.
Definition reader.hpp:35
static std::unique_ptr< ConfigBase > make_config_from_map(const std::unordered_map< std::string, std::string > &config_map)
Helper static method to create a ConfigBase object from a map of string key-value pairs.
Definition reader.cpp:85
Reader class for CLI input.
Definition reader.hpp:150
friend class ReaderCLITester
Friend test fixture class for unit testing.
Definition reader.hpp:161
std::unique_ptr< ConfigBase > read(CLI::App *app, bool verbose) override
Read the configuration from CLI input.
Definition reader.cpp:367
Test fixture class for ReaderBase unit tests.
Definition reader_csv_tester.hpp:12
Reader class for CSV files.
Definition reader.hpp:105
std::unique_ptr< ConfigBase > read(CLI::App *app, bool verbose) override
Method to read the configuration from the CSV file.
Definition reader.cpp:258
std::vector< std::string > splitCsvLine(const std::string &line) const
Helper method to split a CSV line into individual fields.
Definition reader.cpp:224
Reader class for DAT files.
Definition reader.hpp:131
friend class ReaderDATTester
Friend test fixture class for unit testing.
Definition reader.hpp:142
std::unique_ptr< ConfigBase > read(CLI::App *app, bool verbose) override
Method to read the configuration from the DAT file.
Definition reader.cpp:321
Configuration (root) classes for root-finding methods.
Method
Enumeration of available root-finding methods.
Definition method.hpp:8