Loading...
Searching...
No Matches
Dune::ParameterTreeParser Class Reference
Common

Parsers to set up a ParameterTree from various input sources. More...

`#include <dune/common/parametertreeparser.hh>`

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

## Detailed Description

Parsers to set up a ParameterTree from various input sources.

## Member Function Documentation

## readINITree() [1/5]

Dune::ParameterTree Dune::ParameterTreeParser::readINITree | ( | const std::string & | file | ) |

static

parse file and return tree

Parses file with given name and returns hierarchical config structure.

Parameters

  file | filename

## readINITree() [2/5]

Dune::ParameterTree Dune::ParameterTreeParser::readINITree | ( | std::istream & | in | ) |

static

parse C++ stream

Parses C++ stream and returns hierarchical config structure.

Parameters

  in | The stream to parse

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

- parametertreeparser.hh
- parametertreeparser.cc