Dune::ParameterTree Class Reference
[Common]

Hierarchical structure of string parameters. More...

#include <dune/common/parametertree.hh>

List of all members.

Classes

struct  Parser
struct  Parser< bool >
struct  Parser< FieldVector< T, n > >
struct  Parser< std::array< T, n > >
struct  Parser< std::basic_string< char, traits, Allocator > >
struct  Parser< std::bitset< n > >
struct  Parser< std::vector< T, A > >

Public Types

typedef std::vector< std::string > KeyVector
 storage for key lists

Public Member Functions

 ParameterTree ()
 Create new empty ParameterTree.
bool hasKey (const std::string &key) const
 test for key
bool hasSub (const std::string &sub) const
 test for substructure
std::string & operator[] (const std::string &key)
 get value reference for key
const std::string & operator[] (const std::string &key) const
 get value reference for key
void report (std::ostream &stream=std::cout, const std::string &prefix="") const
 print distinct substructure to stream
ParameterTreesub (const std::string &sub)
 get substructure by name
const ParameterTreesub (const std::string &sub, bool fail_if_missing=false) const
 get const substructure by name
std::string get (const std::string &key, const std::string &defaultValue) const
 get value as string
std::string get (const std::string &key, const char *defaultValue) const
 get value as string
template<typename T >
get (const std::string &key, const T &defaultValue) const
 get value converted to a certain type
template<class T >
get (const std::string &key) const
 Get value.
const KeyVectorgetValueKeys () const
 get value keys
const KeyVectorgetSubKeys () const
 get substructure keys

Static Protected Member Functions

static std::string ltrim (const std::string &s)
static std::string rtrim (const std::string &s)
static std::vector< std::string > split (const std::string &s)
template<class Iterator >
static void parseRange (const std::string &str, Iterator it, const Iterator &end)

Protected Attributes

std::string prefix_
KeyVector valueKeys_
KeyVector subKeys_
std::map< std::string,
std::string > 
values_
std::map< std::string,
ParameterTree
subs_

Static Protected Attributes

static const ParameterTree empty_

Detailed Description

Hierarchical structure of string parameters.


Member Typedef Documentation

typedef std::vector<std::string> Dune::ParameterTree::KeyVector

storage for key lists


Constructor & Destructor Documentation

ParameterTree::ParameterTree (  ) 

Create new empty ParameterTree.


Member Function Documentation

template<class T >
T Dune::ParameterTree::get ( const std::string &  key  )  const [inline]

Get value.

Template Parameters:
T Type of the value
Parameters:
key Key name
Exceptions:
RangeError if key does not exist
NotImplemented Type is not supported
Returns:
value as T
template<typename T >
T Dune::ParameterTree::get ( const std::string &  key,
const T &  defaultValue 
) const [inline]

get value converted to a certain type

Returns value as type T for given key.

Template Parameters:
T type of returned value.
Parameters:
key key name
defaultValue default if key does not exist
Returns:
value converted to T
std::string ParameterTree::get ( const std::string &  key,
const char *  defaultValue 
) const

get value as string

Returns pure string value for given key.

Todo:
This is a hack so get("my_key", "xyz") compiles (without this method "xyz" resolves to bool instead of std::string)
Parameters:
key key name
defaultValue default if key does not exist
Returns:
value as string
std::string ParameterTree::get ( const std::string &  key,
const std::string &  defaultValue 
) const

get value as string

Returns pure string value for given key.

Parameters:
key key name
defaultValue default if key does not exist
Returns:
value as string
const ParameterTree::KeyVector & ParameterTree::getSubKeys (  )  const

get substructure keys

Returns a vector of all keys associated to (key,substructure) entries in order of appearance

Returns:
reference to entry vector
const ParameterTree::KeyVector & ParameterTree::getValueKeys (  )  const

get value keys

Returns a vector of all keys associated to (key,values) entries in order of appearance

Returns:
reference to entry vector
bool ParameterTree::hasKey ( const std::string &  key  )  const

test for key

Tests whether given key exists.

Parameters:
key key name
Returns:
true if key exists in structure, otherwise false
bool ParameterTree::hasSub ( const std::string &  sub  )  const

test for substructure

Tests whether given substructure exists.

Parameters:
sub substructure name
Returns:
true if substructure exists in structure, otherwise false
std::string ParameterTree::ltrim ( const std::string &  s  )  [static, protected]
const std::string & ParameterTree::operator[] ( const std::string &  key  )  const

get value reference for key

Returns reference to value for given key name. This creates the key, if not existent.

Parameters:
key key name
Returns:
reference to corresponding value
Exceptions:
Dune::RangeError if key is not found
std::string & ParameterTree::operator[] ( const std::string &  key  ) 

get value reference for key

Returns reference to value for given key name. This creates the key, if not existent.

Parameters:
key key name
Returns:
reference to corresponding value
template<class Iterator >
static void Dune::ParameterTree::parseRange ( const std::string &  str,
Iterator  it,
const Iterator &  end 
) [inline, static, protected]
void ParameterTree::report ( std::ostream &  stream = std::cout,
const std::string &  prefix = "" 
) const

print distinct substructure to stream

Prints all entries with given prefix.

Parameters:
stream Stream to print to
prefix for key and substructure names
std::string ParameterTree::rtrim ( const std::string &  s  )  [static, protected]
std::vector< std::string > ParameterTree::split ( const std::string &  s  )  [static, protected]
const ParameterTree & ParameterTree::sub ( const std::string &  sub,
bool  fail_if_missing = false 
) const

get const substructure by name

Parameters:
sub substructure name
fail_if_missing if true, throw an error if substructure is missing
Returns:
reference to substructure
ParameterTree & ParameterTree::sub ( const std::string &  sub  ) 

get substructure by name

Parameters:
sub substructure name
Returns:
reference to substructure

Member Data Documentation

std::string Dune::ParameterTree::prefix_ [protected]
std::map<std::string, ParameterTree> Dune::ParameterTree::subs_ [protected]
std::map<std::string, std::string> Dune::ParameterTree::values_ [protected]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 25 Mar 2018 for dune-common by  doxygen 1.6.1