21 std::optional<BaseLib::ConfigTree>
const& config)
28 std::vector<ReactionRate> reaction_rates;
29 for (
auto const& rate_config :
31 config->getConfigSubtreeList(
"rate"))
33 auto kinetic_reactant =
35 rate_config.getConfigParameter<std::string>(
"kinetic_reactant");
37 auto const expression_config =
39 rate_config.getConfigSubtree(
"expression");
40 auto const& statements =
42 expression_config.getConfigParameterList<std::string>(
"statement");
44 std::vector<std::string> expression_statements;
45 expression_statements.reserve(statements.size());
46 std::copy(begin(statements),
48 back_inserter(expression_statements));
50 reaction_rates.emplace_back(std::move(kinetic_reactant),
51 std::move(expression_statements));
54 return reaction_rates;