Skip to content
Snippets Groups Projects
Commit 67879bd6 authored by Dr. Felix Tobias Schindler's avatar Dr. Felix Tobias Schindler
Browse files

[common.configuration] added ctor taking an istream

parent 1ab183fa
No related branches found
No related tags found
No related merge requests found
......@@ -100,6 +100,17 @@ Configuration::Configuration(const Configuration& other)
{
}
Configuration::Configuration(std::istream& in, const bool record_defaults, const bool warn_on_default_access,
const bool log_on_exit, const std::string logfile)
: BaseType(initialize(in))
, requests_map_()
, record_defaults_(record_defaults)
, warn_on_default_access_(warn_on_default_access)
, log_on_exit_(log_on_exit)
, logfile_(logfile)
{
}
Configuration::Configuration(const std::string filename, const bool record_defaults, const bool warn_on_default_access,
const bool log_on_exit, const std::string logfile)
: Configuration::Configuration(initialize(filename), record_defaults, warn_on_default_access, log_on_exit, logfile)
......@@ -481,6 +492,13 @@ ParameterTree Configuration::initialize(const std::string filename)
return param_tree;
} // ... initialize(...)
ParameterTree Configuration::initialize(std::istream& in)
{
ParameterTree param_tree;
Dune::ParameterTreeParser::readINITree(in, param_tree);
return param_tree;
} // ... initialize(...)
ParameterTree Configuration::initialize(int argc, char** argv)
{
ParameterTree param_tree;
......
......@@ -117,6 +117,11 @@ public:
Configuration(const Configuration& other);
Configuration(std::istream& in, const bool record_defaults = internal::configuration_record_defaults,
const bool warn_on_default_access = internal::configuration_warn_on_default_access,
const bool log_on_exit = internal::configuration_log_on_exit,
const std::string logfile = internal::configuration_logfile);
//! read ParameterTree from file and call Configuration(const ParameterTree& tree)
explicit Configuration(const std::string filename, const bool record_defaults, const bool warn_on_default_access,
const bool log_on_exit, const std::string logfile);
......@@ -578,6 +583,9 @@ private:
//! read Dune::ParameterTree from file
static ParameterTree initialize(const std::string filename);
//! read Dune::ParameterTree from istream
static ParameterTree initialize(std::istream& in);
//! read Dune::ParameterTree from arguments
static ParameterTree initialize(int argc, char** argv);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment