10 #ifndef IWORKPROPERTYMAP_H_INCLUDED
11 #define IWORKPROPERTYMAP_H_INCLUDED
13 #include <boost/any.hpp>
14 #include <boost/unordered_map.hpp>
29 typedef boost::unordered_map<IWORKPropertyID_t, boost::any>
Map_t;
76 template<
class Property>
77 bool has(
bool lookInParent =
false)
const
80 if (
m_map.end() != it)
81 return !it->second.empty();
89 template<
class Property>
90 bool clears(
bool lookInParent =
false)
const
93 if (
m_map.end() != it)
94 return it->second.empty();
111 template<
class Property>
115 if (
m_map.end() != it)
117 if (!it->second.empty())
132 template<
class Property>
143 template<
class Property>
156 #endif // IWORKPROPERTYMAP_H_INCLUDED
const IWORKPropertyMap * m_parent
Definition: IWORKPropertyMap.h:151
void setParent(const IWORKPropertyMap *parent)
Set a new parent for this map.
Definition: IWORKPropertyMap.cpp:47
Represents a (hierarchical) property map.
Definition: IWORKPropertyMap.h:23
void clear()
Clear property.
Definition: IWORKPropertyMap.h:144
void swap(IWORKPropertyMap &other)
Swap the content with another map.
Definition: IWORKPropertyMap.cpp:40
Definition: IWORKPropertyMap.h:26
boost::unordered_map< IWORKPropertyID_t, boost::any > Map_t
Definition: IWORKPropertyMap.h:29
Definition: IWORKPropertyInfo.h:21
IWORKPropertyMap()
Construct an empty map.
Definition: IWORKPropertyMap.cpp:15
Map_t m_map
Definition: IWORKPropertyMap.h:150
bool clears(bool lookInParent=false) const
Definition: IWORKPropertyMap.h:90
IWORKPropertyMap & operator=(const IWORKPropertyMap &other)
Assign the content from another map.
Definition: IWORKPropertyMap.cpp:33
bool has(bool lookInParent=false) const
Check for the presence of a property.
Definition: IWORKPropertyMap.h:77
void put(const typename IWORKPropertyInfo< Property >::ValueType &value)
Insert a new value for key key.
Definition: IWORKPropertyMap.h:133
const IWORKPropertyInfo< Property >::ValueType & get(bool lookInParent=false) const
Retrieve the value of a property.
Definition: IWORKPropertyMap.h:112