#include <configset.hh>

Public Types | |
| typedef std::list< const config_set * > | subsets |
Public Member Functions | |
| config_set const & | child (std::string const &name) const |
| std::list< const config_set * > | children (const std::string &name) const |
| config_set (config_set *parent=0) | |
| bool | empty () const |
| void | erase (std::string const &name) |
| bool | exists (const std::string &attribute) const |
| template<typename T > | |
| T | get (std::string const &name, T const &defval=T(), typename boost::enable_if< details::is_list< T > >::type *enabler=0) const |
| template<typename T > | |
| T | get (std::string const &name, T const &defval=T(), typename boost::disable_if< details::is_list< T > >::type *enabler=0) const |
| template<> | |
| config_set::stringlist | get (const std::string &name, stringlist const &defval, boost::enable_if< details::is_list< config_set::stringlist > >::type *dummy) const |
| void | insert (std::string const &name, std::string const &value) |
| void | insert (std::string const &name, std::list< std::string > const &value) |
| void | insert (std::string const &name, config_set const *value) |
| const config_set * | parent () const |
| config_set * | parent () |
| void | set (std::string const &name, std::string const &value) |
| void | set (std::string const &name, std::list< std::string > const &value) |
| ~config_set () | |
Protected Types | |
| typedef std::multimap < std::string, const config_set * > | ChildMap |
| typedef std::multimap < std::string, std::string > | ValueMap |
Protected Member Functions | |
| void | clear () |
Protected Attributes | |
| ChildMap | m_children |
| config_set * | m_parent |
| ValueMap | m_values |
Private Types | |
| typedef std::list< std::string > | stringlist |
Static Private Member Functions | |
| template<typename T > | |
| static T | convert (std::string const &value) |
Friends | |
| class | ConfigFile |
A scope in configuration files
Definition at line 24 of file configset.hh.
typedef std::multimap<std::string, const config_set*> utilmm::config_set::ChildMap [protected] |
Definition at line 38 of file configset.hh.
typedef std::list<std::string> utilmm::config_set::stringlist [private] |
Definition at line 30 of file configset.hh.
| typedef std::list<const config_set*> utilmm::config_set::subsets |
Definition at line 49 of file configset.hh.
typedef std::multimap<std::string, std::string> utilmm::config_set::ValueMap [protected] |
Definition at line 36 of file configset.hh.
| config_set::config_set | ( | config_set * | parent = 0 | ) | [explicit] |
Definition at line 7 of file configset.cc.
Definition at line 10 of file configset.cc.
| config_set const & config_set::child | ( | std::string const & | name | ) | const |
Get the first child named name or an empty set
Definition at line 48 of file configset.cc.
| list< const config_set * > config_set::children | ( | const std::string & | name | ) | const |
Get the list of children named name
Definition at line 30 of file configset.cc.
| void config_set::clear | ( | ) | [protected] |
Clears this set
Definition at line 17 of file configset.cc.
| T utilmm::config_set::convert | ( | std::string const & | value | ) | [static, private] |
Definition at line 89 of file configset.cc.
| bool config_set::empty | ( | ) | const |
Checks if this set is empty (no child, no attributes)
Definition at line 15 of file configset.cc.
| void config_set::erase | ( | std::string const & | name | ) |
Remove the given option
Definition at line 84 of file configset.cc.
| bool config_set::exists | ( | const std::string & | attribute | ) | const |
Tests for the existence of an attribute
Definition at line 57 of file configset.cc.
| T utilmm::config_set::get | ( | std::string const & | name, |
| T const & | defval = T(), |
||
| typename boost::enable_if< details::is_list< T > >::type * | enabler = 0 |
||
| ) | const |
In a config_set object, all values are stored as lists of strings. This method converts the stored value into the required type using the associated config_set::convert template specialization (if it exists).
If no value is stored under the given key, returns defval
Definition at line 123 of file configset.hh.
| T utilmm::config_set::get | ( | std::string const & | name, |
| T const & | defval = T(), |
||
| typename boost::disable_if< details::is_list< T > >::type * | enabler = 0 |
||
| ) | const |
In a config_set object, all values are stored as lists of strings. This method is a convenience method when only one value is stored for a given key. It converts the stored value into the required type using the associated config_set::convert template specialization (if it exists).
If no value is associated with the key, returns defval
Definition at line 138 of file configset.hh.
| config_set::stringlist utilmm::config_set::get | ( | const std::string & | name, |
| stringlist const & | defval, | ||
| boost::enable_if< details::is_list< config_set::stringlist > >::type * | dummy | ||
| ) | const |
Definition at line 100 of file configset.cc.
| void config_set::insert | ( | std::string const & | name, |
| std::string const & | value | ||
| ) |
Appends the given value to the values already associated with name
Definition at line 64 of file configset.cc.
| void config_set::insert | ( | std::string const & | name, |
| std::list< std::string > const & | value | ||
| ) |
Appends the given values to the valus already associated with name
Definition at line 66 of file configset.cc.
| void config_set::insert | ( | std::string const & | name, |
| config_set const * | value | ||
| ) |
Add a child to this config_set
Definition at line 72 of file configset.cc.
| const config_set * config_set::parent | ( | ) | const |
The parent config_set object
Definition at line 28 of file configset.cc.
| config_set * config_set::parent | ( | ) |
Definition at line 29 of file configset.cc.
| void config_set::set | ( | std::string const & | name, |
| std::string const & | value | ||
| ) |
Replaces any value associated with name with the value provided. See insert to append new values to already existing ones
Definition at line 74 of file configset.cc.
| void config_set::set | ( | std::string const & | name, |
| std::list< std::string > const & | value | ||
| ) |
Sets multiple values for this key. If some value was already associated with name, the new value replaces it. See insert to append new values to already existing ones.
Definition at line 79 of file configset.cc.
friend class ConfigFile [friend] |
Definition at line 27 of file configset.hh.
ChildMap utilmm::config_set::m_children [protected] |
Definition at line 39 of file configset.hh.
config_set* utilmm::config_set::m_parent [protected] |
Definition at line 35 of file configset.hh.
ValueMap utilmm::config_set::m_values [protected] |
Definition at line 37 of file configset.hh.