DCMTK  Version 3.6.1 20170228
OFFIS DICOM Toolkit
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
OFMap< K, V > Class Template Reference

associative container class. More...

Public Types

typedef OFPair< const K, V > value_type
 the type of values saved in this map
 

Public Member Functions

typedef OFListIterator (value_type) iterator
 iterator class for OFMap. More...
 
typedef OFListConstIterator (value_type) const _iterator
 constant iterator class for OFMap. More...
 
 OFMap ()
 default constructor
 
OFMapoperator= (const OFMap &other)
 assignment operator
 
V & operator[] (const K &key)
 index operator. More...
 
iterator begin ()
 returns iterator pointing to the first element of this map More...
 
iterator end ()
 returns iterator pointer after the last element of this map More...
 
const_iterator begin () const
 returns constant iterator pointing to the first element of this map More...
 
const_iterator end () const
 returns constant iterator pointer after the last element of this map More...
 
iterator find (const K &key)
 looks up the given key in this map More...
 
const_iterator find (const K &key) const
 looks up the given key in this map More...
 
OFBool empty () const
 returns whether this map is empty (i.e. whether its size is 0) More...
 
size_t size () const
 returns the number of elements saved in this map More...
 
void clear ()
 removes all elements from this map
 
void erase (const iterator &first, const iterator &last)
 removes all elements in the given range from this map More...
 
void erase (const iterator &elem)
 removes the element to which the given iterator points to More...
 
int erase (const K &key)
 removes the element with the given key from this map More...
 
OFPair< iterator, bool > insert (const value_type &val)
 inserts a new element into the map, but does not overwrite existing elements More...
 
void swap (OFMap< K, V > &s)
 swaps the contents of the two maps. More...
 

Protected Attributes

OFList< value_typevalues_
 

Detailed Description

template<typename K, typename V>
class OFMap< K, V >

associative container class.

This class is a subset of std::map.

Member Function Documentation

template<typename K, typename V>
iterator OFMap< K, V >::begin ( )
inline

returns iterator pointing to the first element of this map

Returns
iterator pointing to the first element of this map

Referenced by OFMap< log4cplus::tstring, ProvisionNode >::find(), and OFMap< log4cplus::tstring, ProvisionNode >::operator=().

template<typename K, typename V>
const_iterator OFMap< K, V >::begin ( ) const
inline

returns constant iterator pointing to the first element of this map

Returns
constant iterator pointing to the first element of this map
template<typename K, typename V>
OFBool OFMap< K, V >::empty ( void  ) const
inline

returns whether this map is empty (i.e. whether its size is 0)

Returns
OFTrue if this map is empty, OFFalse otherwise
template<typename K, typename V>
iterator OFMap< K, V >::end ( )
inline
template<typename K, typename V>
const_iterator OFMap< K, V >::end ( ) const
inline

returns constant iterator pointer after the last element of this map

Returns
constant iterator pointer after the last element of this map
template<typename K, typename V>
void OFMap< K, V >::erase ( const iterator &  first,
const iterator &  last 
)
inline

removes all elements in the given range from this map

Parameters
firstthe first element to remove
lastthe first element NOT to remove
template<typename K, typename V>
void OFMap< K, V >::erase ( const iterator &  elem)
inline

removes the element to which the given iterator points to

Parameters
elemthe element to remove
template<typename K, typename V>
int OFMap< K, V >::erase ( const K &  key)
inline

removes the element with the given key from this map

Returns
the number of elements removed (0 or 1)
template<typename K, typename V>
iterator OFMap< K, V >::find ( const K &  key)
inline

looks up the given key in this map

Parameters
keythe key to look for
Returns
iterator for that key to end()

Referenced by OFMap< log4cplus::tstring, ProvisionNode >::erase(), OFMap< log4cplus::tstring, ProvisionNode >::insert(), and OFMap< log4cplus::tstring, ProvisionNode >::operator[]().

template<typename K, typename V>
const_iterator OFMap< K, V >::find ( const K &  key) const
inline

looks up the given key in this map

Parameters
keythe key to look for
Returns
constant iterator for that key to end()
template<typename K, typename V>
OFPair<iterator, bool> OFMap< K, V >::insert ( const value_type val)
inline

inserts a new element into the map, but does not overwrite existing elements

Parameters
valthe value to insert
Returns
a pair of an iterator and a boolean. The iterator always points to the element which got val's key. The boolean is true if val was inserted, false otherwise.

Referenced by OFMap< log4cplus::tstring, ProvisionNode >::operator=(), and OFMap< log4cplus::tstring, ProvisionNode >::operator[]().

template<typename K, typename V>
typedef OFMap< K, V >::OFListConstIterator ( value_type  ) const

constant iterator class for OFMap.

You can read the elements, but you may not modify them.

template<typename K, typename V>
typedef OFMap< K, V >::OFListIterator ( value_type  )

iterator class for OFMap.

You can modify elements through this iterator's ->first and ->second properties.

Referenced by OFMap< log4cplus::tstring, ProvisionNode >::insert().

template<typename K, typename V>
V& OFMap< K, V >::operator[] ( const K &  key)
inline

index operator.

You can use this to add new elements to the map. Beware: Don't use this for checking if a given key is already used in the map, use find() != end() for this job!

Parameters
keythe key you want to access
Returns
reference to the value saved under the given key.
template<typename K, typename V>
size_t OFMap< K, V >::size ( ) const
inline

returns the number of elements saved in this map

Returns
the number of elements saved in this map
template<typename K, typename V>
void OFMap< K, V >::swap ( OFMap< K, V > &  s)
inline

swaps the contents of the two maps.

The time complexity of this function should be constant.

Parameters
smap to swap with

Member Data Documentation

template<typename K, typename V>
OFList<value_type> OFMap< K, V >::values_
protected
Todo:
using a list as base is slooooow

Referenced by OFMap< log4cplus::tstring, ProvisionNode >::swap().


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


Generated on Tue Feb 28 2017 for DCMTK Version 3.6.1 20170228 by Doxygen 1.8.8