7#include <yaml-cpp/yaml.h>
9#include "ConfigFileReader.h"
25 using node_id_t = std::variant<std::string, node_finder_t>;
42 template <
typename SCALAR>
48 template <
typename SCALAR>
54 template <
typename SCALAR>
55 std::optional<std::vector<SCALAR>>
GetVector(YAML::Node node);
60 template <
typename SCALAR>
68 template <
typename SCALAR>
77 YAML::Node FindNode(YAML::Node node,
node_path_t node_path);
80 std::deque<std::pair<YAML::Node, std::string>> m_configs;
Configuration file manager.
A YAMLReader based on yaml-cpp.
std::optional< SCALAR > GetScalar(node_path_t node_path)
node_finder_t InRange(std::string const &key, SCALAR val)
std::deque< node_id_t > node_path_t
Representation of a path of YAML::Nodes in a YAML::Node tree, e.g., in a YAML file.
std::variant< std::string, node_finder_t > node_id_t
void LoadFiles()
Parse the YAML files added by ConfigFileReader::AddFile
std::optional< std::vector< SCALAR > > GetVector(YAML::Node node)
std::optional< std::vector< SCALAR > > GetVector(node_path_t node_path)
std::function< YAML::Node(const YAML::Node)> node_finder_t
A function f : Node A -> Node B which searches YAML::Node A for a specific YAML::Node B,...
std::optional< SCALAR > GetScalar(YAML::Node node)
YAMLReader(std::string_view name="config")
General, top-level namespace for algorithms and infrastructure. For algorithms and bindings,...