|
My Project
|
This file provides the infrastructure to retrieve run-time parameters. More...
#include <dune/common/classname.hh>#include <cstring>#include <functional>#include <set>#include <sstream>#include <string>#include <type_traits>#include <vector>Go to the source code of this file.
Classes | |
| struct | Opm::Parameters::detail::has_name< typename, class > |
| struct | Opm::Parameters::detail::has_name< T, std::void_t< decltype(std::declval< T >().name)> > |
| struct | Opm::Parameters::Parameter |
| A struct holding the key-value pair for a parameter. More... | |
Namespaces | |
| namespace | Opm |
| This file contains a set of helper functions used by VFPProd / VFPInj. | |
Typedefs | |
| using | Opm::Parameters::PositionalArgumentCallback = std::function< int(std::function< void(const std::string &, const std::string &)>, std::set< std::string > &, std::string &, int, const char **, int, int)> |
| Callback function for command line parsing. | |
Functions | |
| template<class Parameter > | |
| auto | Opm::Parameters::detail::getParamName () |
| get the name data member of a parameter | |
| template<class ParamType > | |
| ParamType | Opm::Parameters::detail::Get_ (const std::string ¶mName, ParamType defaultValue, bool errorIfNotRegistered) |
| Private implementation. | |
| void | Opm::Parameters::detail::Hide_ (const std::string ¶mName) |
| Private implementation. | |
| bool | Opm::Parameters::detail::IsSet_ (const std::string ¶mName, bool errorIfNotRegistered) |
| Private implementation. | |
| void | Opm::Parameters::detail::Register_ (const std::string ¶mName, const std::string ¶mTypeName, const std::string &defaultValue, const char *usageString) |
| Private implementation. | |
| void | Opm::Parameters::detail::SetDefault_ (const std::string ¶mName, const std::string ¶mValue) |
| Private implementation. | |
| void | Opm::Parameters::printUsage (const std::string &helpPreamble, std::ostream &os, const std::string &errorMsg="", const bool showAll=false) |
| Print a usage message for all run-time parameters. | |
| std::string | Opm::Parameters::parseCommandLineOptions (int argc, const char **argv, const PositionalArgumentCallback &posArgCallback, const std::string &helpPreamble="") |
| Parse the parameters provided on the command line. | |
| bool | Opm::Parameters::parseParameterFile (const std::string &fileName, bool overwrite=true) |
| Read the parameters from an INI-style file. | |
| void | Opm::Parameters::printValues (std::ostream &os) |
| Print values of the run-time parameters. | |
| bool | Opm::Parameters::printUnused (std::ostream &os) |
| Print the list of unused run-time parameters. | |
| template<class Param > | |
| auto | Opm::Parameters::Get (bool errorIfNotRegistered=true) |
| Retrieve a runtime parameter. | |
| template<class Param > | |
| void | Opm::Parameters::SetDefault (decltype(Param::value) new_value) |
| Set a runtime parameter. | |
| void | Opm::Parameters::getLists (std::vector< Parameter > &usedParams, std::vector< Parameter > &unusedParams) |
| Retrieves the lists of parameters specified at runtime and their values. | |
| void | Opm::Parameters::reset () |
| Reset parameter system. | |
| template<class Param > | |
| bool | Opm::Parameters::IsSet (bool errorIfNotRegistered=true) |
| Returns true if a parameter has been specified at runtime, false otherwise. | |
| template<class Param > | |
| void | Opm::Parameters::Register (const char *usageString) |
| Register a run-time parameter. | |
| template<class Param > | |
| void | Opm::Parameters::Hide () |
| Indicate that a given parameter should not be mentioned in the help message. | |
| bool | Opm::Parameters::IsRegistrationOpen () |
| Query whether parameter registration is open or not. | |
| void | Opm::Parameters::endRegistration () |
| Indicate that all parameters are registered for a given type tag. | |
This file provides the infrastructure to retrieve run-time parameters.
Internally, runtime parameters are implemented using Dune::ParameterTree with the default value taken from the parameter definition.
| void Opm::Parameters::endRegistration | ( | ) |
Indicate that all parameters are registered for a given type tag.
If registerParam is called after the invocation of endParamRegistration, a std::logic_error exception will be thrown.
Retrieve a runtime parameter.
The default value is specified in the parameter struct.
Example:
| void Opm::Parameters::getLists | ( | std::vector< Parameter > & | usedParams, |
| std::vector< Parameter > & | unusedParams | ||
| ) |
Retrieves the lists of parameters specified at runtime and their values.
The two arguments besides the TypeTag are assumed to be STL containers which store std::pair<std::string, std::string>.
| void Opm::Parameters::Hide | ( | ) |
Indicate that a given parameter should not be mentioned in the help message.
This allows to deal with unused parameters
| bool Opm::Parameters::IsRegistrationOpen | ( | ) |
Query whether parameter registration is open or not.
Returns true if a parameter has been specified at runtime, false otherwise.
If the parameter in question has not been registered, this throws an exception.
| std::string Opm::Parameters::parseCommandLineOptions | ( | int | argc, |
| const char ** | argv, | ||
| const PositionalArgumentCallback & | posArgCallback, | ||
| const std::string & | helpPreamble = "" |
||
| ) |
Parse the parameters provided on the command line.
This function does some basic syntax checks.
| argc | The number of parameters passed by the operating system to the main() function |
| argv | The array of strings passed by the operating system to the main() function |
| helpPreamble | If non-empty, the –help and -h parameters will be recognized and the content of the string will be printed before the list of command line parameters |
Read the parameters from an INI-style file.
This function does some basic syntax checks.
| bool Opm::Parameters::printUnused | ( | std::ostream & | os | ) |
Print the list of unused run-time parameters.
| os | The std::ostream on which the message should be printed |
| void Opm::Parameters::printUsage | ( | const std::string & | helpPreamble, |
| std::ostream & | os, | ||
| const std::string & | errorMsg = "", |
||
| const bool | showAll = false |
||
| ) |
Print a usage message for all run-time parameters.
| helpPreamble | The string that is printed after the error message and before the list of parameters. |
| errorMsg | The error message to be printed, if any |
| os | The std::ostream which should be used. |
| void Opm::Parameters::printValues | ( | std::ostream & | os | ) |
Print values of the run-time parameters.
| os | The std::ostream on which the message should be printed |
Register a run-time parameter.
In OPM, parameters can only be used after they have been registered.
Example:
| void Opm::Parameters::SetDefault | ( | decltype(Param::value) | new_value | ) |
Set a runtime parameter.
Override the default value specified.
Example: