Parsers to set up a ParameterTree from various input sources.
More...
#include <dune/common/parametertreeparser.hh>
|
INITree files should look like this * # this file configures fruit colors in fruitsalad
*
*
* #these are no fruit but could also appear in fruit salad
* honeydewmelon = yellow
* watermelon = green
*
* fruit.tropicalfruit.orange = orange
*
* [fruit]
* strawberry = red
* pomegranate = red
*
* [fruit.pipfruit]
* apple = green/red/yellow
* pear = green
*
* [fruit.stonefruit]
* cherry = red
* plum = purple
*
* If a '[prefix]' statement appears all following entries use this prefix until the next '[prefix]' statement. Fruitsalads for example contain: * honeydewmelon = yellow
* fruit.tropicalfruit.orange = orange
* fruit.pipfruit.apple = green/red/yellow
* fruit.stonefruit.cherry = red
* All keys with a common 'prefix.' belong to the same substructure called 'prefix'. Leading and trailing spaces and tabs are removed from the values unless you use single or double quotes around them. Using single or double quotes you can also have multiline values.
|
static void | readINITree (std::istream &in, ParameterTree &pt, bool overwrite) |
| parse C++ stream
|
|
static Dune::ParameterTree | readINITree (std::istream &in) |
| parse C++ stream
|
|
static void | readINITree (std::istream &in, ParameterTree &pt, const std::string srcname="stream", bool overwrite=true) |
| parse C++ stream
|
|
static void | readINITree (std::string file, ParameterTree &pt, bool overwrite=true) |
| parse file
|
|
static Dune::ParameterTree | readINITree (const std::string &file) |
| parse file and return tree
|
|
static void | readOptions (int argc, char *argv[], ParameterTree &pt) |
| parse command line options and build hierarchical ParameterTree structure
|
|
static void | readNamedOptions (int argc, char *argv[], ParameterTree &pt, std::vector< std::string > keywords, unsigned int required=std::numeric_limits< unsigned int >::max(), bool allow_more=true, bool overwrite=true, std::vector< std::string > help=std::vector< std::string >()) |
| read [named] command line options and build hierarchical ParameterTree structure
|
|
Parsers to set up a ParameterTree from various input sources.
◆ readINITree() [1/5]
parse file and return tree
Parses file with given name and returns hierarchical config structure.
- Parameters
-
◆ readINITree() [2/5]
parse C++ stream
Parses C++ stream and returns hierarchical config structure.
- Parameters
-
◆ readINITree() [3/5]
void Dune::ParameterTreeParser::readINITree |
( |
std::istream & |
in, |
|
|
ParameterTree & |
pt, |
|
|
bool |
overwrite |
|
) |
| |
|
static |
parse C++ stream
Parses C++ stream and build hierarchical config structure.
- Parameters
-
| in | The stream to parse |
[out] | pt | The parameter tree to store the config structure. |
| overwrite | Whether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present. |
◆ readINITree() [4/5]
void Dune::ParameterTreeParser::readINITree |
( |
std::istream & |
in, |
|
|
ParameterTree & |
pt, |
|
|
const std::string |
srcname = "stream" , |
|
|
bool |
overwrite = true |
|
) |
| |
|
static |
parse C++ stream
Parses C++ stream and build hierarchical config structure.
- Parameters
-
| in | The stream to parse |
[out] | pt | The parameter tree to store the config structure. |
| srcname | Name of the configuration source for error messages, "stdin" or a filename. |
| overwrite | Whether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present. |
◆ readINITree() [5/5]
void Dune::ParameterTreeParser::readINITree |
( |
std::string |
file, |
|
|
ParameterTree & |
pt, |
|
|
bool |
overwrite = true |
|
) |
| |
|
static |
parse file
Parses file with given name and build hierarchical config structure.
- Parameters
-
| file | filename |
[out] | pt | The parameter tree to store the config structure. |
| overwrite | Whether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present. |
◆ readNamedOptions()
void Dune::ParameterTreeParser::readNamedOptions |
( |
int |
argc, |
|
|
char * |
argv[], |
|
|
ParameterTree & |
pt, |
|
|
std::vector< std::string > |
keywords, |
|
|
unsigned int |
required = std::numeric_limits<unsigned int>::max() , |
|
|
bool |
allow_more = true , |
|
|
bool |
overwrite = true , |
|
|
std::vector< std::string > |
help = std::vector<std::string>() |
|
) |
| |
|
static |
read [named] command line options and build hierarchical ParameterTree structure
Similar to pythons named options we expect the parameters in the ordering induced by keywords, but allow the user to pass named options in the form of –key=value. Optionally the user can pass an additional vector with help strings.
- Parameters
-
| argc | arg count |
| argv | arg values |
[out] | pt | The parameter tree to store the config structure. |
| keywords | vector with keywords names |
| required | number of required options (the first n keywords are required, default is all are required) |
| allow_more | allow more options than these listed in keywords (default = true) |
| overwrite | allow to overwrite existing options (default = true) |
| help | vector containing help strings |
◆ readOptions()
void Dune::ParameterTreeParser::readOptions |
( |
int |
argc, |
|
|
char * |
argv[], |
|
|
ParameterTree & |
pt |
|
) |
| |
|
static |
parse command line options and build hierarchical ParameterTree structure
The list of command line options is searched for pairs of the type -key value
(note the hyphen in front of the key). For each such pair of options a key-value pair with the corresponding names is then created in the ParameterTree.
- Parameters
-
| argc | arg count |
| argv | arg values |
[out] | pt | The parameter tree to store the config structure. |
The documentation for this class was generated from the following files: