59 template<
typename ConfigT>
62 std::string::const_iterator iter = config_str.begin();
63 std::string::const_iterator end = config_str.end();
66 auto parse_success = phrase_parse(iter, end, parser,boost::spirit::ascii::space,
settings);
67 if (!parse_success || iter!=end)
69 std::string remaining(iter, end);
70 if (remaining.size() > 60)
71 remaining = remaining.substr(0, 60) +
"...";
72 if (remaining.empty())
73 remaining =
"<end of input>";
74 throw std::runtime_error(
75 std::string(
"[config] parser did not consume entire input; "
76 "unparsed remainder: \"") + remaining +
"\"");
93 template<
typename ...Ts>
108 std::tuple<Ts...>
Parse(std::string
const& config)
122 template<
typename ConfigT>
134 ConfigT
Parse(std::string
const& config)
147 template<
typename ...Ts>
152 auto Parse(std::string
const& config)
Provides the parsing rules for algorithm-related settings in bertini2.
Provides the parsing rules for endgames-related settings in bertini2.
Parser specialisation for RandomConfig — handles randomseed: <uint>;.
Provides the parsing rules for tracking-related settings in bertini2.
Definition configured.hpp:34
Definition classic_utilities.hpp:41
ConfigT FillConfigStruct(std::string const &config_str)
Helper function to fill a single configuration struct by parsing a config input file.
Definition settings_parsers.hpp:60
Definition classic_utilities.hpp:40
Definition configIni_parse.hpp:78
Definition algorithm_builder.hpp:36
static ConfigT Parse(std::string const &config)
Fill a single configuration struct by parsing a config input file.
Definition settings_parsers.hpp:134
static auto Parse(std::string const &config)
Parse all the config types in the list from a classic-format config string.
Definition settings_parsers.hpp:152
Base variadic parser for parsing many config structs at once.
Definition settings_parsers.hpp:95
static std::tuple< Ts... > Parse(std::string const &config)
The primary idea for filling a tuple using variadic templates comes from: http://stackoverflow....
Definition settings_parsers.hpp:108
Qi Parser object for parsing config settings This ensures we can provide backwards compatibility with...
Definition base.hpp:52
Contains the detail/typelist helper type, for templated getting/setting/storage of config structs.