|  | 
| hasher | hash_funct () const | 
|  | 
|  | Map ()=default | 
|  | Standard constructor.  More... 
 | 
|  | 
|  | Map (const map_type &other) | 
|  | Constructor from a standard map.  More... 
 | 
|  | 
|  | Map (In &&first, In &&last) | 
|  | Construct from a subset.  More... 
 | 
|  | 
| virtual | ~Map ()=default | 
|  | Virtual destructor. You can inherit from this map type.  More... 
 | 
|  | 
| iterator | begin () | 
|  | 
| const_iterator | begin () const | 
|  | 
| iterator | end () | 
|  | 
| const_iterator | end () const | 
|  | 
| mapped_type & | operator[] (const key_type &key) | 
|  | 
| const mapped_type & | operator[] (const key_type &key) const | 
|  | Access elements of a const Map.  More... 
 | 
|  | 
| iterator | find (const key_type &key) | 
|  | 
| const_iterator | find (const key_type &key) const | 
|  | 
| size_type | count (const key_type &key) const | 
|  | 
| iterator | lower_bound (const key_type &key) | 
|  | 
| const_iterator | lower_bound (const key_type &key) const | 
|  | 
| iterator | upper_bound (const key_type &key) | 
|  | 
| const_iterator | upper_bound (const key_type &key) const | 
|  | 
| std::pair< iterator, iterator > | equal_range (const key_type &key) | 
|  | 
| std::pair< const_iterator, const_iterator > | equal_range (const key_type &key) const | 
|  | 
| std::pair< iterator, bool > | emplace (Args &&... args) | 
|  | 
| std::pair< iterator, bool > | insert (ValueType &&val) | 
|  | 
| std::pair< iterator, bool > | insert (value_type &&val) | 
|  | 
| void | insert (In &&first, In &&last) | 
|  | 
| iterator | insert (iterator, ValueType &&val) | 
|  | 
| iterator | erase (const_iterator pos) | 
|  | 
| size_type | erase (const key_type &key) | 
|  | 
| iterator | erase (const_iterator first, const_iterator last) | 
|  | 
| void | clear () | 
|  | 
| size_type | size () const | 
|  | 
| size_type | max_size () const | 
|  | 
| bool | empty () const | 
|  | 
| void | swap (map_type &other) | 
|  | 
| const result_type & | operator() (const argument_type &key) const | 
|  | Allow to use Map as an unary function.  More... 
 | 
|  | 
| const result_type & | at (const argument_type &key) const | 
|  | checked access to the map  More... 
 | 
|  | 
| Map & | merge (const map_type &other) | 
|  | Merge two maps.  More... 
 | 
|  | 
| Map & | merge (const Map &other) | 
|  | Merge two maps.  More... 
 | 
|  | 
| Map & | merge (const Map< K1, K2, K3 > &other) | 
|  | Merge two maps.  More... 
 | 
|  | 
| void | update (const key_type &key, const mapped_type &mapped) | 
|  | 
|  | operator map_type & () | 
|  | Allows to use the Map wherever an std::map is explicitly requested.  More... 
 | 
|  | 
|  | operator const map_type & () const | 
|  | 
| const key_type & | key_at (const size_type index) const | 
|  | useful method for python decoration:  More... 
 | 
|  | 
| const mapped_type & | value_at (const size_type index) const | 
|  | useful method for python decoration:  More... 
 | 
|  | 
| virtual | ~MapBase () | 
|  | virtual destructor  More... 
 | 
|  | 
template<typename K, typename T, typename H = Hash<K>, typename M = std::unordered_map<K, T, H>>
class GaudiUtils::HashMap< K, T, H, M >
Common class providing an architecture-independent hash map.
Due to helper base class Gaudi::Utils::MapBase, this class is "python-friendly", and one can perform all python manipulaitons in intuitive way: 
>>> print 
m        ## print the 
map a
'la python class dict...
>>> for key in m :  print key, m[key]   ## iteration over the map
...
>>> for key,value in m.iteritems() : print key, value
...
>>> keys   = m.keys()                     ## get the list of keys
>>> values = m.values ()                  ## get the list of values
>>  items  = m.items  ()                  ## get the list of items
 
>>> if 'one' in m           ## check the presence of the key in map
 
>>>  v = m.get(key', None) ## 
return m[
key] 
for existing 
key, 
else None
 
 
 
>>> value 
m[
key]     ## unchecked access through the 
key...
 - Attention
- One needs to redfine __setitem__and__getitem__methods in python:
 
>>> 
m[
key] = value  ## much more intuitive semantics 
for key insertion
  In a similar way __delitem__ methods can be redefined. 
- Warning
- To bypass some compilation problme (and to avoid the unnesessary expansion of dictionaries) it is nesessary to exclude from dictionary the following methods:
- lower_bound
- upper_bound
- equal_range
- insert
 
- See also
- Gaudi::Utils::MapBase
- Author
- Marco Clemencic 
- Date
- 2005-10-06 
Definition at line 83 of file HashMap.h.