parametersystem.hpp File Reference

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>
Include dependency graph for parametersystem.hpp:
This graph shows which files directly or indirectly include this file:

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
 
namespace  Opm::Parameters
 
namespace  Opm::Parameters::detail
 

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. More...
 

Functions

template<class Parameter >
auto Opm::Parameters::detail::getParamName ()
 get the name data member of a parameter More...
 
template<class ParamType >
ParamType Opm::Parameters::detail::Get_ (const std::string &paramName, ParamType defaultValue, bool errorIfNotRegistered)
 Private implementation. More...
 
void Opm::Parameters::detail::Hide_ (const std::string &paramName)
 Private implementation. More...
 
bool Opm::Parameters::detail::IsSet_ (const std::string &paramName, bool errorIfNotRegistered)
 Private implementation. More...
 
void Opm::Parameters::detail::Register_ (const std::string &paramName, const std::string &paramTypeName, const std::string &defaultValue, const char *usageString)
 Private implementation. More...
 
void Opm::Parameters::detail::SetDefault_ (const std::string &paramName, const std::string &paramValue)
 Private implementation. More...
 
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. More...
 
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. More...
 
bool Opm::Parameters::parseParameterFile (const std::string &fileName, bool overwrite=true)
 Read the parameters from an INI-style file. More...
 
void Opm::Parameters::printValues (std::ostream &os)
 Print values of the run-time parameters. More...
 
bool Opm::Parameters::printUnused (std::ostream &os)
 Print the list of unused run-time parameters. More...
 
template<class Param >
auto Opm::Parameters::Get (bool errorIfNotRegistered=true)
 Retrieve a runtime parameter. More...
 
template<class Param >
void Opm::Parameters::SetDefault (decltype(Param::value) new_value)
 Set a runtime parameter. More...
 
void Opm::Parameters::getLists (std::vector< Parameter > &usedParams, std::vector< Parameter > &unusedParams)
 Retrieves the lists of parameters specified at runtime and their values. More...
 
void Opm::Parameters::reset ()
 Reset parameter system. More...
 
template<class Param >
bool Opm::Parameters::IsSet (bool errorIfNotRegistered=true)
 Returns true if a parameter has been specified at runtime, false otherwise. More...
 
template<class Param >
void Opm::Parameters::Register (const char *usageString)
 Register a run-time parameter. More...
 
template<class Param >
void Opm::Parameters::Hide ()
 Indicate that a given parameter should not be mentioned in the help message. More...
 
bool Opm::Parameters::IsRegistrationOpen ()
 Query whether parameter registration is open or not. More...
 
void Opm::Parameters::endRegistration ()
 Indicate that all parameters are registered for a given type tag. More...
 

Detailed Description

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.