libstdc++: __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc > Class Template Reference

libstdc++

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc > Class Template Reference
Extensions » SGI

`#include <hash_map>`

## Public Types
typedef _Ht::allocator_type | allocator_type
typedef _Ht::const_iterator | const_iterator
typedef _Ht::const_pointer | const_pointer
typedef _Ht::const_reference | const_reference
typedef _Tp | data_type
typedef _Ht::difference_type | difference_type
typedef _Ht::hasher | hasher
typedef _Ht::iterator | iterator
typedef _Ht::key_equal | key_equal
typedef _Ht::key_type | key_type
typedef _Tp | mapped_type
typedef _Ht::pointer | pointer
typedef _Ht::reference | reference
typedef _Ht::size_type | size_type
typedef _Ht::value_type | value_type

## Public Member Functions
template<class _InputIterator>
| hash_map (_InputIterator __f, _InputIterator __l)
template<class _InputIterator>
| hash_map (_InputIterator __f, _InputIterator __l, size_type __n)
template<class _InputIterator>
| hash_map (_InputIterator __f, _InputIterator __l, size_type __n, const hasher &__hf)
template<class _InputIterator>
| hash_map (_InputIterator __f, _InputIterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
| hash_map (size_type __n)
| hash_map (size_type __n, const hasher &__hf)
| hash_map (size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
iterator | begin ()
const_iterator | begin () const
size_type | bucket_count () const
void | clear ()
size_type | count (const key_type &__key) const
size_type | elems_in_bucket (size_type __n) const
bool | empty () const
iterator | end ()
const_iterator | end () const
pair< iterator, iterator > | equal_range (const key_type &__key)
pair< const_iterator, const_iterator > | equal_range (const key_type &__key) const
size_type | erase (const key_type &__key)
void | erase (iterator __f, iterator __l)
void | erase (iterator __it)
iterator | find (const key_type &__key)
const_iterator | find (const key_type &__key) const
allocator_type | get_allocator () const
hasher | hash_funct () const
template<class _InputIterator>
void | insert (_InputIterator __f, _InputIterator __l)
pair< iterator, bool > | insert (const value_type &__obj)
pair< iterator, bool > | insert_noresize (const value_type &__obj)
key_equal | key_eq () const
size_type | max_bucket_count () const
size_type | max_size () const
_Tp & | operator[] (const key_type &__key)
void | resize (size_type __hint)
size_type | size () const
void | swap (hash_map &__hs)

## Friends
template<class _K1, class _T1, class _HF, class _EqK, class _Al>
bool | operator== (const hash_map< _K1, _T1, _HF, _EqK, _Al > &, const hash_map< _K1, _T1, _HF, _EqK, _Al > &)

## Detailed Description

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
class __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >

This is an SGI extension.

Todo
  Needs documentation! See http://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_style.html

Definition at line 83 of file hash_map.

## Member Typedef Documentation

## ◆ allocator_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::allocator_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::allocator_type

Definition at line 110 of file hash_map.

## ◆ const_iterator

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::const_iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::const_iterator

Definition at line 108 of file hash_map.

## ◆ const_pointer

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::const_pointer __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::const_pointer

Definition at line 103 of file hash_map.

## ◆ const_reference

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::const_reference __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::const_reference

Definition at line 105 of file hash_map.

## ◆ data_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Tp __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::data_type

Definition at line 94 of file hash_map.

## ◆ difference_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::difference_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::difference_type

Definition at line 101 of file hash_map.

## ◆ hasher

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::hasher __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hasher

Definition at line 97 of file hash_map.

## ◆ iterator

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::iterator

Definition at line 107 of file hash_map.

## ◆ key_equal

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::key_equal __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::key_equal

Definition at line 98 of file hash_map.

## ◆ key_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::key_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::key_type

Definition at line 93 of file hash_map.

## ◆ mapped_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Tp __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::mapped_type

Definition at line 95 of file hash_map.

## ◆ pointer

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::pointer __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::pointer

Definition at line 102 of file hash_map.

## ◆ reference

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::reference __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::reference

Definition at line 104 of file hash_map.

## ◆ size_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::size_type

Definition at line 100 of file hash_map.

## ◆ value_type

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

typedef _Ht::value_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::value_type

Definition at line 96 of file hash_map.

## Constructor & Destructor Documentation

## ◆ hash_map() [1/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( |  | ) |
| inline

Definition at line 124 of file hash_map.

## ◆ hash_map() [2/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | size_type | __n | ) |
| inlineexplicit

Definition at line 128 of file hash_map.

## ◆ hash_map() [3/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | size_type | __n,
|  | const hasher & | __hf )
| inline

Definition at line 131 of file hash_map.

## ◆ hash_map() [4/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | size_type | __n,
|  | const hasher & | __hf,
|  | const key_equal & | __eql,
|  | const allocator_type & | __a = allocator_type() )
| inline

Definition at line 134 of file hash_map.

## ◆ hash_map() [5/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
template<class _InputIterator>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | _InputIterator | __f,
|  | _InputIterator | __l )
| inline

Definition at line 139 of file hash_map.

## ◆ hash_map() [6/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
template<class _InputIterator>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | size_type | __n )
| inline

Definition at line 144 of file hash_map.

## ◆ hash_map() [7/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
template<class _InputIterator>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | size_type | __n,
|  | const hasher & | __hf )
| inline

Definition at line 149 of file hash_map.

## ◆ hash_map() [8/8]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
template<class _InputIterator>

__gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_map | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | size_type | __n,
|  | const hasher & | __hf,
|  | const key_equal & | __eql,
|  | const allocator_type & | __a = allocator_type() )
| inline

Definition at line 155 of file hash_map.

## Member Function Documentation

## ◆ begin() [1/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::begin | ( |  | ) |
| inline

Definition at line 183 of file hash_map.

## ◆ begin() [2/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

const_iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::begin | ( |  | ) | const
| inline

Definition at line 191 of file hash_map.

## ◆ bucket_count()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::bucket_count | ( |  | ) | const
| inline

Definition at line 256 of file hash_map.

## ◆ clear()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::clear | ( |  | ) |
| inline

Definition at line 248 of file hash_map.

## ◆ count()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::count | ( | const key_type & | __key | ) | const
| inline

Definition at line 224 of file hash_map.

## ◆ elems_in_bucket()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::elems_in_bucket | ( | size_type | __n | ) | const
| inline

Definition at line 264 of file hash_map.

## ◆ empty()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

bool __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::empty | ( |  | ) | const
| inlinenodiscard

Definition at line 170 of file hash_map.

## ◆ end() [1/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::end | ( |  | ) |
| inline

Definition at line 187 of file hash_map.

## ◆ end() [2/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

const_iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::end | ( |  | ) | const
| inline

Definition at line 195 of file hash_map.

## ◆ equal_range() [1/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

pair< iterator, iterator > __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::equal_range | ( | const key_type & | __key | ) |
| inline

Definition at line 228 of file hash_map.

## ◆ equal_range() [2/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

pair< const_iterator, const_iterator > __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::equal_range | ( | const key_type & | __key | ) | const
| inline

Definition at line 232 of file hash_map.

## ◆ erase() [1/3]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::erase | ( | const key_type & | __key | ) |
| inline

Definition at line 236 of file hash_map.

## ◆ erase() [2/3]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::erase | ( | iterator | __f,
|  | iterator | __l )
| inline

Definition at line 244 of file hash_map.

## ◆ erase() [3/3]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::erase | ( | iterator | __it | ) |
| inline

Definition at line 240 of file hash_map.

## ◆ find() [1/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::find | ( | const key_type & | __key | ) |
| inline

Definition at line 212 of file hash_map.

## ◆ find() [2/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

const_iterator __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::find | ( | const key_type & | __key | ) | const
| inline

Definition at line 216 of file hash_map.

## ◆ get_allocator()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

allocator_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::get_allocator | ( |  | ) | const
| inline

Definition at line 121 of file hash_map.

## ◆ hash_funct()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

hasher __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::hash_funct | ( |  | ) | const
| inline

Definition at line 113 of file hash_map.

## ◆ insert() [1/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>
template<class _InputIterator>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::insert | ( | _InputIterator | __f,
|  | _InputIterator | __l )
| inline

Definition at line 204 of file hash_map.

## ◆ insert() [2/2]

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

pair< iterator, bool > __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::insert | ( | const value_type & | __obj | ) |
| inline

Definition at line 199 of file hash_map.

## ◆ insert_noresize()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

pair< iterator, bool > __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::insert_noresize | ( | const value_type & | __obj | ) |
| inline

Definition at line 208 of file hash_map.

## ◆ key_eq()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

key_equal __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::key_eq | ( |  | ) | const
| inline

Definition at line 117 of file hash_map.

## ◆ max_bucket_count()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::max_bucket_count | ( |  | ) | const
| inline

Definition at line 260 of file hash_map.

## ◆ max_size()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::max_size | ( |  | ) | const
| inline

Definition at line 166 of file hash_map.

## ◆ operator[]()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

_Tp & __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::operator[] | ( | const key_type & | __key | ) |
| inline

Definition at line 220 of file hash_map.

## ◆ resize()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::resize | ( | size_type | __hint | ) |
| inline

Definition at line 252 of file hash_map.

## ◆ size()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

size_type __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::size | ( |  | ) | const
| inline

Definition at line 162 of file hash_map.

## ◆ swap()

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp>>

void __gnu_cxx::hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc >::swap | ( | hash_map< _Key, _Tp, _HashFn, _EqualKey, _Alloc > & | __hs | ) |
| inline

Definition at line 174 of file hash_map.

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

- hash_map