MorphoGraphX  2.0-1-227
Public Types | Public Member Functions | List of all members
mgx::AttrMap< KeyT, ValueT > Class Template Reference

Attribute map wraps std::map. More...

#include <Attributes.hpp>

Public Types

typedef std::pair< KeyT, ValueT > pair
 
typedef STD_MAP< KeyT, ValueT >::iterator iterator
 
typedef STD_MAP< KeyT, ValueT >::const_iterator const_iterator
 

Public Member Functions

 AttrMap ()
 
 AttrMap (const ValueT &defaultVal)
 
template<typename IterT >
 AttrMap (IterT first, IterT last, const ValueT &defaultVal=ValueT())
 
 AttrMap (const AttrMap &a)
 
AttrMapoperator= (const AttrMap &a)
 
 ~AttrMap ()
 
const ValueT & operator[] (const KeyT &key) const
 const Accessor More...
 
ValueT & operator[] (const KeyT &key)
 Accessor. More...
 
const ValueT & at (const KeyT &key) const
 Counterpart to map::at(), which returns reference to default value if key is not found. More...
 
const ValueT & defaultVal () const
 Get a reference to the default value. More...
 
ValueT & defaultVal ()
 
ValueT & defaulVal ()
 The default value. More...
 
const ValueT & defaulVal () const
 
size_t size () const
 
bool empty () const
 
size_t count (const KeyT &key) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator find (const KeyT &key)
 
const_iterator find (const KeyT &key) const
 
void erase (iterator pos)
 
size_t erase (const KeyT &key)
 
void erase (iterator first, iterator last)
 
void clear ()
 
template<typename IterT >
void insert (IterT first, IterT last)
 

Detailed Description

template<typename KeyT, typename ValueT>
class mgx::AttrMap< KeyT, ValueT >

Attribute map wraps std::map.

The following customizations are made to std::map's behavior:

Note that this does not make the class thread safe, but reads and writes that go to different entries are safe.

Definition at line 686 of file Attributes.hpp.

Member Typedef Documentation

◆ const_iterator

template<typename KeyT , typename ValueT >
typedef STD_MAP<KeyT, ValueT>::const_iterator mgx::AttrMap< KeyT, ValueT >::const_iterator

Definition at line 691 of file Attributes.hpp.

◆ iterator

template<typename KeyT , typename ValueT >
typedef STD_MAP<KeyT, ValueT>::iterator mgx::AttrMap< KeyT, ValueT >::iterator

Definition at line 690 of file Attributes.hpp.

◆ pair

template<typename KeyT , typename ValueT >
typedef std::pair<KeyT, ValueT> mgx::AttrMap< KeyT, ValueT >::pair

Definition at line 689 of file Attributes.hpp.

Constructor & Destructor Documentation

◆ AttrMap() [1/4]

template<typename KeyT , typename ValueT >
mgx::AttrMap< KeyT, ValueT >::AttrMap ( )
inline

Definition at line 694 of file Attributes.hpp.

◆ AttrMap() [2/4]

template<typename KeyT , typename ValueT >
mgx::AttrMap< KeyT, ValueT >::AttrMap ( const ValueT &  defaultVal)
inlineexplicit

Definition at line 698 of file Attributes.hpp.

◆ AttrMap() [3/4]

template<typename KeyT , typename ValueT >
template<typename IterT >
mgx::AttrMap< KeyT, ValueT >::AttrMap ( IterT  first,
IterT  last,
const ValueT &  defaultVal = ValueT() 
)
inline

Definition at line 705 of file Attributes.hpp.

◆ AttrMap() [4/4]

template<typename KeyT , typename ValueT >
mgx::AttrMap< KeyT, ValueT >::AttrMap ( const AttrMap< KeyT, ValueT > &  a)
inline

Definition at line 712 of file Attributes.hpp.

◆ ~AttrMap()

template<typename KeyT , typename ValueT >
mgx::AttrMap< KeyT, ValueT >::~AttrMap ( )
inline

Definition at line 727 of file Attributes.hpp.

Member Function Documentation

◆ at()

template<typename KeyT , typename ValueT >
const ValueT& mgx::AttrMap< KeyT, ValueT >::at ( const KeyT &  key) const
inline

Counterpart to map::at(), which returns reference to default value if key is not found.

Definition at line 759 of file Attributes.hpp.

◆ begin() [1/2]

template<typename KeyT , typename ValueT >
iterator mgx::AttrMap< KeyT, ValueT >::begin ( )
inline

Definition at line 805 of file Attributes.hpp.

◆ begin() [2/2]

template<typename KeyT , typename ValueT >
const_iterator mgx::AttrMap< KeyT, ValueT >::begin ( ) const
inline

Definition at line 806 of file Attributes.hpp.

◆ clear()

template<typename KeyT , typename ValueT >
void mgx::AttrMap< KeyT, ValueT >::clear ( )
inline

Definition at line 817 of file Attributes.hpp.

◆ count()

template<typename KeyT , typename ValueT >
size_t mgx::AttrMap< KeyT, ValueT >::count ( const KeyT &  key) const
inline

Definition at line 804 of file Attributes.hpp.

◆ defaultVal() [1/2]

template<typename KeyT , typename ValueT >
ValueT& mgx::AttrMap< KeyT, ValueT >::defaultVal ( )
inline

Definition at line 771 of file Attributes.hpp.

◆ defaultVal() [2/2]

template<typename KeyT , typename ValueT >
const ValueT& mgx::AttrMap< KeyT, ValueT >::defaultVal ( ) const
inline

Get a reference to the default value.

Definition at line 767 of file Attributes.hpp.

◆ defaulVal() [1/2]

template<typename KeyT , typename ValueT >
ValueT& mgx::AttrMap< KeyT, ValueT >::defaulVal ( )
inline

The default value.

Definition at line 792 of file Attributes.hpp.

◆ defaulVal() [2/2]

template<typename KeyT , typename ValueT >
const ValueT& mgx::AttrMap< KeyT, ValueT >::defaulVal ( ) const
inline

Definition at line 796 of file Attributes.hpp.

◆ empty()

template<typename KeyT , typename ValueT >
bool mgx::AttrMap< KeyT, ValueT >::empty ( ) const
inline

Definition at line 803 of file Attributes.hpp.

◆ end() [1/2]

template<typename KeyT , typename ValueT >
iterator mgx::AttrMap< KeyT, ValueT >::end ( )
inline

Definition at line 807 of file Attributes.hpp.

◆ end() [2/2]

template<typename KeyT , typename ValueT >
const_iterator mgx::AttrMap< KeyT, ValueT >::end ( ) const
inline

Definition at line 808 of file Attributes.hpp.

◆ erase() [1/3]

template<typename KeyT , typename ValueT >
size_t mgx::AttrMap< KeyT, ValueT >::erase ( const KeyT &  key)
inline

Definition at line 814 of file Attributes.hpp.

◆ erase() [2/3]

template<typename KeyT , typename ValueT >
void mgx::AttrMap< KeyT, ValueT >::erase ( iterator  first,
iterator  last 
)
inline

Definition at line 815 of file Attributes.hpp.

◆ erase() [3/3]

template<typename KeyT , typename ValueT >
void mgx::AttrMap< KeyT, ValueT >::erase ( iterator  pos)
inline

Definition at line 813 of file Attributes.hpp.

◆ find() [1/2]

template<typename KeyT , typename ValueT >
iterator mgx::AttrMap< KeyT, ValueT >::find ( const KeyT &  key)
inline

Definition at line 809 of file Attributes.hpp.

◆ find() [2/2]

template<typename KeyT , typename ValueT >
const_iterator mgx::AttrMap< KeyT, ValueT >::find ( const KeyT &  key) const
inline

Definition at line 810 of file Attributes.hpp.

◆ insert()

template<typename KeyT , typename ValueT >
template<typename IterT >
void mgx::AttrMap< KeyT, ValueT >::insert ( IterT  first,
IterT  last 
)
inline

Definition at line 819 of file Attributes.hpp.

◆ operator=()

template<typename KeyT , typename ValueT >
AttrMap& mgx::AttrMap< KeyT, ValueT >::operator= ( const AttrMap< KeyT, ValueT > &  a)
inline

Definition at line 718 of file Attributes.hpp.

◆ operator[]() [1/2]

template<typename KeyT , typename ValueT >
ValueT& mgx::AttrMap< KeyT, ValueT >::operator[] ( const KeyT &  key)
inline

Accessor.

Put a lock around this for omp. Note that this will not protect an iterator somewhere else.

Definition at line 751 of file Attributes.hpp.

◆ operator[]() [2/2]

template<typename KeyT , typename ValueT >
const ValueT& mgx::AttrMap< KeyT, ValueT >::operator[] ( const KeyT &  key) const
inline

const Accessor

If value does not exist, return a reference to the default value. Unlike map, this method is const

Definition at line 737 of file Attributes.hpp.

◆ size()

template<typename KeyT , typename ValueT >
size_t mgx::AttrMap< KeyT, ValueT >::size ( ) const
inline

Definition at line 802 of file Attributes.hpp.


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