19 Config(
const std::string& config_filename);
29 std::optional<T>
param(
const std::string& module_name,
const std::string& param_name)
const;
39 T
param(
const std::string& module_name,
const std::string& param_name,
const T& default_value)
const;
49 T
param_cast(
const std::string& module_name,
const std::string& param_name)
const;
58 std::optional<T>
param_nested(
const std::vector<std::string>& nested_module_names,
const std::string& param_name)
const;
68 T
param_nested(
const std::vector<std::string>& nested_module_names,
const std::string& param_name,
const T& default_value)
const;
78 T
param_cast_nested(
const std::vector<std::string>& nested_module_names,
const std::string& param_name)
const;
89 bool override_param(
const std::string& module_name,
const std::string& param_name,
const T& value);
95 void save(
const std::string& path)
const;
110 static GlobalConfig* instance(
const std::string& config_path = std::string(),
bool override_path =
false);
112 static std::string get_config_path(
const std::string& config_name);
118 void dump(
const std::string& path);
Configuration loader from JSON files.
Definition config.hpp:14
void save(const std::string &path) const
Save config parameters as a JSON file.
T param_cast(const std::string &module_name, const std::string ¶m_name) const
Get a parameter.
Definition config_impl.hpp:161
Config(const std::string &config_filename)
Configuration JSON filename.
std::optional< T > param(const std::string &module_name, const std::string ¶m_name) const
Get a parameter.
Definition config_impl.hpp:131
std::optional< T > param_nested(const std::vector< std::string > &nested_module_names, const std::string ¶m_name) const
Get a parameter from a nested module.
Definition config_impl.hpp:182
bool override_param(const std::string &module_name, const std::string ¶m_name, const T &value)
Override a parameter value.
Definition config_impl.hpp:173
T param_cast_nested(const std::vector< std::string > &nested_module_names, const std::string ¶m_name) const
Get a parameter.
Definition config_impl.hpp:224
Global configuration class to bootstrap the root path of the configuration files.
Definition config.hpp:104
void dump(const std::string &path)
Dump all involved config parameters.