libetonyek::IWORKPropertyMap Class Reference

Represents a (hierarchical) property map. More...

#include <IWORKPropertyMap.h>

Classes

class  NotFoundException
 

Public Member Functions

 IWORKPropertyMap ()
 Construct an empty map. More...
 
 IWORKPropertyMap (const IWORKPropertyMap *parent)
 Construct an empty map with parent parent. More...
 
 IWORKPropertyMap (const IWORKPropertyMap &other)
 Construct a map as a copy of existing one. More...
 
IWORKPropertyMapoperator= (const IWORKPropertyMap &other)
 Assign the content from another map. More...
 
void swap (IWORKPropertyMap &other)
 Swap the content with another map. More...
 
void setParent (const IWORKPropertyMap *parent)
 Set a new parent for this map. More...
 
template<class Property >
bool has (bool lookInParent=false) const
 Check for the presence of a property. More...
 
template<class Property >
bool clears (bool lookInParent=false) const
 
template<class Property >
const IWORKPropertyInfo< Property >::ValueType & get (bool lookInParent=false) const
 Retrieve the value of a property. More...
 
template<class Property >
void put (const typename IWORKPropertyInfo< Property >::ValueType &value)
 Insert a new value for key key. More...
 
template<class Property >
void clear ()
 Clear property. More...
 

Private Types

typedef std::unordered_map< IWORKPropertyID_t, boost::any > Map_t
 

Private Attributes

Map_t m_map
 
const IWORKPropertyMapm_parent
 

Detailed Description

Represents a (hierarchical) property map.

Member Typedef Documentation

◆ Map_t

typedef std::unordered_map<IWORKPropertyID_t, boost::any> libetonyek::IWORKPropertyMap::Map_t
private

Constructor & Destructor Documentation

◆ IWORKPropertyMap() [1/3]

libetonyek::IWORKPropertyMap::IWORKPropertyMap ( )

Construct an empty map.

◆ IWORKPropertyMap() [2/3]

libetonyek::IWORKPropertyMap::IWORKPropertyMap ( const IWORKPropertyMap parent)
explicit

Construct an empty map with parent parent.

  • [in] parent the parent of this map

◆ IWORKPropertyMap() [3/3]

libetonyek::IWORKPropertyMap::IWORKPropertyMap ( const IWORKPropertyMap other)

Construct a map as a copy of existing one.

  • [in] other the original

Member Function Documentation

◆ clear()

template<class Property >
void libetonyek::IWORKPropertyMap::clear ( )
inline

◆ clears()

template<class Property >
bool libetonyek::IWORKPropertyMap::clears ( bool  lookInParent = false) const
inline

Referenced by clears().

◆ get()

template<class Property >
const IWORKPropertyInfo<Property>::ValueType& libetonyek::IWORKPropertyMap::get ( bool  lookInParent = false) const
inline

Retrieve the value of a property.

If the property is not found in this map and lookInParent is true, the parent map is searched (transitively).

  • [in] lookInParent should the parent map be searched if the property is not found in this map?
    Returns
    the found value

Referenced by libetonyek::IWORKStyle::get(), and get().

◆ has()

template<class Property >
bool libetonyek::IWORKPropertyMap::has ( bool  lookInParent = false) const
inline

Check for the presence of a property.

If the property is not found in this map and lookInParent is true, the parent map is searched (transitively).

  • [in] lookInParent should the parent map be searched if the property is not found in this map?
    Returns
    true if the property is present

Referenced by libetonyek::IWORKStyle::has(), and has().

◆ operator=()

IWORKPropertyMap & libetonyek::IWORKPropertyMap::operator= ( const IWORKPropertyMap other)

Assign the content from another map.

  • [in] other the source map
    Returns
    this map

◆ put()

◆ setParent()

void libetonyek::IWORKPropertyMap::setParent ( const IWORKPropertyMap parent)

Set a new parent for this map.

  • [in] parent the new parent

Referenced by libetonyek::IWORKStyle::IWORKStyle(), and libetonyek::IWORKStyle::link().

◆ swap()

void libetonyek::IWORKPropertyMap::swap ( IWORKPropertyMap other)

Swap the content with another map.

  • [inout] the other map

Referenced by operator=().

Member Data Documentation

◆ m_map

Map_t libetonyek::IWORKPropertyMap::m_map
private

Referenced by clear(), clears(), get(), has(), put(), and swap().

◆ m_parent

const IWORKPropertyMap* libetonyek::IWORKPropertyMap::m_parent
private

Referenced by clears(), get(), has(), setParent(), and swap().


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

Generated for libetonyek by doxygen 1.8.13