dune-common  2.2.0
Static Public Member Functions
Dune::ParameterTreeParser Class Reference

Parsers to set up a ParameterTree from various input sources

. More...

#include <dune/common/parametertreeparser.hh>

List of all members.

Static Public Member Functions

static void readOptions (int argc, char *argv[], ParameterTree &pt)
 parse command line options and build hierarchical ParameterTree structure
Parsing methods for the INITree file format

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

Detailed Description

Parsers to set up a ParameterTree from various input sources

.


Member Function Documentation

void Dune::ParameterTreeParser::readINITree ( std::istream &  in,
ParameterTree pt,
bool  overwrite 
)
static

parse C++ stream

Parses C++ stream and build hierarchical config structure.

Parameters:
inThe stream to parse
ptThe parameter tree to store the config structure.
overwriteWhether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present.
Note:
This method is identical to parseStream(std::istream&, const std::string&, bool) with the exception that that method allows to give a custom name for the stream.
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:
inThe stream to parse
ptThe parameter tree to store the config structure.
srcnameName of the configuration source for error messages, "stdin" or a filename.
overwriteWhether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present.

References DUNE_THROW, and Dune::ParameterTree::hasKey().

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:
filefilename
ptThe parameter tree to store the config structure.
overwriteWhether to overwrite already existing values. If false, values in the stream will be ignored if the key is already present.

References DUNE_THROW.

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:
argcarg count
argvarg values
ptThe parameter tree to store the config structure.

The documentation for this class was generated from the following files: