MTC
Public Types | Public Member Functions | List of all members
moveit::task_constructor::PropertyMap Class Reference

#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 >
Propertydeclare (const std::string &name, const std::string &description="")
 declare a property for future use
 
template<typename T >
Propertydeclare (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
 
Propertyproperty (const std::string &name)
 get the property with given name, throws Property::undeclared for unknown name
 
const Propertyproperty (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)
 

Detailed Description

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.


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