| MTC
    | 
#include <properties.h>
| Public Types | |
| using | iterator = std::map< std::string, Property >::iterator | 
| using | const_iterator = std::map< std::string, Property >::const_iterator | 
| Public Member Functions | |
| template<typename T > | |
| Property & | declare (const std::string &name, const std::string &description="") | 
| declare a property for future use | |
| template<typename T > | |
| Property & | declare (const std::string &name, const T &default_value, const std::string &description="") | 
| declare a property with default value | |
| void | exposeTo (PropertyMap &other, const std::set< std::string > &properties) const | 
| declare all given properties also in other PropertyMap | |
| void | exposeTo (PropertyMap &other, const std::string &name, const std::string &other_name) const | 
| declare given property name as other_name in other PropertyMap | |
| bool | hasProperty (const std::string &name) const | 
| check whether given property is declared | |
| Property & | property (const std::string &name) | 
| get the property with given name, throws Property::undeclared for unknown name | |
| const Property & | property (const std::string &name) const | 
| iterator | begin () | 
| iterator | end () | 
| const_iterator | begin () const | 
| const_iterator | end () const | 
| void | configureInitFrom (Property::SourceFlags source, const std::set< std::string > &properties={}) | 
| allow initialization from given source for listed properties - always using the same name | |
| template<typename T > | |
| void | set (const std::string &name, const T &value) | 
| set (and, if neccessary, declare) the value of a property | |
| void | set (const std::string &name, const char *value) | 
| overloading: const char* is stored as std::string | |
| void | setCurrent (const std::string &name, const boost::any &value) | 
| temporarily set the value of a property | |
| const boost::any & | get (const std::string &name) const | 
| Get the value of a property. Throws undeclared if unknown name. | |
| template<typename T > | |
| const T & | get (const std::string &name) const | 
| Get typed value of property. Throws undeclared, undefined, or bad_any_cast. | |
| template<typename T > | |
| const T & | get (const std::string &name, const T &fallback) const | 
| get typed value of property, using fallback if undefined. Throws bad_any_cast on type mismatch. | |
| size_t | countDefined (const std::vector< std::string > &list) const | 
| count number of defined properties from given list | |
| void | reset () | 
| reset all properties to their defaults | |
| void | performInitFrom (Property::SourceFlags source, const PropertyMap &other) | 
| perform initialization of still undefined properties using configured initializers | |
| template<> | |
| void | set (const std::string &name, const boost::any &value) | 
PropertyMap is map of (name, Property) pairs.
Conveniency methods are provided to setup property initialization for several properties at once - always inheriting from the identically named external property.