__gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > Class Template Reference

`#include <hashtable.h>`

## Public Types

typedef _Key | key_type
typedef _Val | value_type
typedef _HashFcn | hasher
typedef _EqualKey | key_equal
typedef size_t | size_type
typedef ptrdiff_t | difference_type
typedef value_type * | pointer
typedef const value_type * | const_pointer
typedef value_type & | reference
typedef const value_type & | const_reference
typedef _Alloc::template rebind< value_type >::other | allocator_type
typedef _Hashtable_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > | iterator
typedef _Hashtable_const_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > | const_iterator

## Public Member Functions

hasher | hash_funct () const
key_equal | key_eq () const
allocator_type | get_allocator () const
| hashtable (size_type __n, const _HashFcn &__hf, const _EqualKey &__eql, const _ExtractKey &__ext, const allocator_type &__a=allocator_type())
| hashtable (size_type __n, const _HashFcn &__hf, const _EqualKey &__eql, const allocator_type &__a=allocator_type())
| hashtable (const hashtable &__ht)
hashtable & | operator= (const hashtable &__ht)
| ~hashtable ()
size_type | size () const
size_type | max_size () const
bool | empty () const
void | swap (hashtable &__ht)
iterator | begin ()
iterator | end ()
const_iterator | begin () const
const_iterator | end () const
size_type | bucket_count () const
size_type | max_bucket_count () const
size_type | elems_in_bucket (size_type __bucket) const
pair< iterator, bool > | insert_unique (const value_type &__obj)
iterator | insert_equal (const value_type &__obj)
pair< iterator, bool > | insert_unique_noresize (const value_type &__obj)
iterator | insert_equal_noresize (const value_type &__obj)
template<class _InputIterator>
void | insert_unique (_InputIterator __f, _InputIterator __l)
template<class _InputIterator>
void | insert_equal (_InputIterator __f, _InputIterator __l)
template<class _InputIterator>
void | insert_unique (_InputIterator __f, _InputIterator __l, input_iterator_tag)
template<class _InputIterator>
void | insert_equal (_InputIterator __f, _InputIterator __l, input_iterator_tag)
template<class _ForwardIterator>
void | insert_unique (_ForwardIterator __f, _ForwardIterator __l, forward_iterator_tag)
template<class _ForwardIterator>
void | insert_equal (_ForwardIterator __f, _ForwardIterator __l, forward_iterator_tag)
reference | find_or_insert (const value_type &__obj)
iterator | find (const key_type &__key)
const_iterator | find (const key_type &__key) const
size_type | count (const key_type &__key) 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 (const iterator &__it)
void | erase (iterator __first, iterator __last)
void | erase (const const_iterator &__it)
void | erase (const_iterator __first, const_iterator __last)
void | resize (size_type __num_elements_hint)
void | clear ()

## Private Types

typedef _Hashtable_node< _Val > | _Node
typedef _Alloc::template rebind< _Node >::other | _Node_Alloc
typedef _Alloc::template rebind< _Node * >::other | _Nodeptr_Alloc
typedef vector< _Node *, _Nodeptr_Alloc > | _Vector_type

## Private Member Functions

_Node * | _M_get_node ()
void | _M_put_node (_Node *__p)
size_type | _M_next_size (size_type __n) const
void | _M_initialize_buckets (size_type __n)
size_type | _M_bkt_num_key (const key_type &__key) const
size_type | _M_bkt_num (const value_type &__obj) const
size_type | _M_bkt_num_key (const key_type &__key, size_t __n) const
size_type | _M_bkt_num (const value_type &__obj, size_t __n) const
_Node * | _M_new_node (const value_type &__obj)
void | _M_delete_node (_Node *__n)
void | _M_erase_bucket (const size_type __n, _Node *__first, _Node *__last)
void | _M_erase_bucket (const size_type __n, _Node *__last)
void | _M_copy_from (const hashtable &__ht)

## Private Attributes

_Node_Alloc | _M_node_allocator
hasher | _M_hash
key_equal | _M_equals
_ExtractKey | _M_get_key
_Vector_type | _M_buckets
size_type | _M_num_elements

## Friends

struct | _Hashtable_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >
struct | _Hashtable_const_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >
template<class _Vl, class _Ky, class _HF, class _Ex, class _Eq, class _Al>
bool | operator== (const hashtable< _Vl, _Ky, _HF, _Ex, _Eq, _Al > &, const hashtable< _Vl, _Ky, _HF, _Ex, _Eq, _Al > &)

## Detailed Description

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
class __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >

Definition at line 254 of file hashtable.h.

## Member Typedef Documentation

## _Node

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Hashtable_node<_Val> __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_Node

private

Definition at line 278 of file hashtable.h.

## _Node_Alloc

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Alloc::template rebind<_Node>::other __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_Node_Alloc

private

Definition at line 287 of file hashtable.h.

## _Nodeptr_Alloc

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Alloc::template rebind<_Node*>::other __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_Nodeptr_Alloc

private

Definition at line 288 of file hashtable.h.

## _Vector_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef vector<_Node*, _Nodeptr_Alloc> __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_Vector_type

private

Definition at line 289 of file hashtable.h.

## allocator_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Alloc::template rebind<value_type>::other __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::allocator_type

Definition at line 281 of file hashtable.h.

## const_iterator

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc> __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_iterator

Definition at line 314 of file hashtable.h.

## const_pointer

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef const value_type* __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_pointer

Definition at line 265 of file hashtable.h.

## const_reference

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef const value_type& __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_reference

Definition at line 267 of file hashtable.h.

## difference_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef ptrdiff_t __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::difference_type

Definition at line 263 of file hashtable.h.

## hasher

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _HashFcn __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hasher

Definition at line 259 of file hashtable.h.

## iterator

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Hashtable_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc> __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::iterator

Definition at line 311 of file hashtable.h.

## key_equal

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _EqualKey __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::key_equal

Definition at line 260 of file hashtable.h.

## key_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Key __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::key_type

Definition at line 257 of file hashtable.h.

## pointer

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef value_type* __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::pointer

Definition at line 264 of file hashtable.h.

## reference

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef value_type& __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::reference

Definition at line 266 of file hashtable.h.

## size_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef size_t __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::size_type

Definition at line 262 of file hashtable.h.

## value_type

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

typedef _Val __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::value_type

Definition at line 258 of file hashtable.h.

## Constructor & Destructor Documentation

## hashtable() [1/3]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

__gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hashtable | ( | size_type | __n,
|  | const _HashFcn & | __hf,
|  | const _EqualKey & | __eql,
|  | const _ExtractKey & | __ext,
|  | const allocator_type & | __a = allocator_type() )

inline

Definition at line 324 of file hashtable.h.

## hashtable() [2/3]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

__gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hashtable | ( | size_type | __n,
|  | const _HashFcn & | __hf,
|  | const _EqualKey & | __eql,
|  | const allocator_type & | __a = allocator_type() )

inline

Definition at line 331 of file hashtable.h.

## hashtable() [3/3]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

__gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hashtable | ( | const hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > & | __ht | ) |

inline

Definition at line 338 of file hashtable.h.

## ~hashtable()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

__gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::~hashtable | ( |  | ) |

inline

Definition at line 358 of file hashtable.h.

## Member Function Documentation

## _M_bkt_num() [1/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_bkt_num | ( | const value_type & | __obj | ) | const

inline private

Definition at line 589 of file hashtable.h.

## _M_bkt_num() [2/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_bkt_num | ( | const value_type & | __obj,
|  | size_t | __n ) const

inline private

Definition at line 597 of file hashtable.h.

## _M_bkt_num_key() [1/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_bkt_num_key | ( | const key_type & | __key | ) | const

inline private

Definition at line 585 of file hashtable.h.

## _M_bkt_num_key() [2/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_bkt_num_key | ( | const key_type & | __key,
|  | size_t | __n ) const

inline private

Definition at line 593 of file hashtable.h.

## _M_copy_from()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::_M_copy_from | ( | const hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > & | __ht | ) |

private

Definition at line 1094 of file hashtable.h.

## _M_delete_node()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_delete_node | ( | _Node * | __n | ) |

inline private

Definition at line 618 of file hashtable.h.

## _M_erase_bucket() [1/2]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::_M_erase_bucket | ( | const size_type | __n,
|  | _Node * | __first,
|  | _Node * | __last )

private

Definition at line 1034 of file hashtable.h.

## _M_erase_bucket() [2/2]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::_M_erase_bucket | ( | const size_type | __n,
|  | _Node * | __last )

private

Definition at line 1059 of file hashtable.h.

## _M_get_node()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

_Node * __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_get_node | ( |  | ) |

inline private

Definition at line 294 of file hashtable.h.

## _M_initialize_buckets()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_initialize_buckets | ( | size_type | __n | ) |

inline private

Definition at line 576 of file hashtable.h.

## _M_new_node()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

_Node * __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_new_node | ( | const value_type & | __obj | ) |

inline private

Definition at line 601 of file hashtable.h.

## _M_next_size()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_next_size | ( | size_type | __n | ) | const

inline private

Definition at line 572 of file hashtable.h.

## _M_put_node()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_put_node | ( | _Node * | __p | ) |

inline private

Definition at line 298 of file hashtable.h.

## begin() [1/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::begin | ( |  | ) |

inline

Definition at line 384 of file hashtable.h.

## begin() [2/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

const_iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::begin | ( |  | ) | const

inline

Definition at line 397 of file hashtable.h.

## bucket_count()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::bucket_count | ( |  | ) | const

inline

Definition at line 417 of file hashtable.h.

## clear()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::clear | ( |  | ) |

Definition at line 1075 of file hashtable.h.

## count()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::count | ( | const key_type & | __key | ) | const

inline

Definition at line 531 of file hashtable.h.

## elems_in_bucket()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::elems_in_bucket | ( | size_type | __bucket | ) | const

inline

Definition at line 425 of file hashtable.h.

## empty()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

bool __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::empty | ( |  | ) | const

inline

Definition at line 370 of file hashtable.h.

## end() [1/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::end | ( |  | ) |

inline

Definition at line 393 of file hashtable.h.

## end() [2/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

const_iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::end | ( |  | ) | const

inline

Definition at line 406 of file hashtable.h.

## equal_range() [1/2]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

pair< typename hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::iterator, typename hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::iterator > __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::equal_range | ( | const key_type & | __key | ) |

Definition at line 812 of file hashtable.h.

## equal_range() [2/2]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

pair< typename hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::const_iterator, typename hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::const_iterator > __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::equal_range | ( | const key_type & | __key | ) | const

Definition at line 838 of file hashtable.h.

## erase() [1/5]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | const const_iterator & | __it | ) |

inline

Definition at line 980 of file hashtable.h.

## erase() [2/5]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | const iterator & | __it | ) |

Definition at line 905 of file hashtable.h.

## erase() [3/5]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::size_type __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | const key_type & | __key | ) |

Definition at line 866 of file hashtable.h.

## erase() [4/5]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | const_iterator | __first,
|  | const_iterator | __last )

inline

Definition at line 969 of file hashtable.h.

## erase() [5/5]

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | iterator | __first,
|  | iterator | __last )

Definition at line 944 of file hashtable.h.

## find() [1/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::find | ( | const key_type & | __key | ) |

inline

Definition at line 507 of file hashtable.h.

## find() [2/2]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

const_iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::find | ( | const key_type & | __key | ) | const

inline

Definition at line 519 of file hashtable.h.

## find_or_insert()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::reference __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::find_or_insert | ( | const value_type & | __obj | ) |

Definition at line 790 of file hashtable.h.

## get_allocator()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

allocator_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::get_allocator | ( |  | ) | const

inline

Definition at line 283 of file hashtable.h.

## hash_funct()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

hasher __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hash_funct | ( |  | ) | const

inline

Definition at line 270 of file hashtable.h.

## insert_equal() [1/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _ForwardIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __l,
|  | forward_iterator_tag | )

inline

Definition at line 494 of file hashtable.h.

## insert_equal() [2/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _InputIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal | ( | _InputIterator | __f,
|  | _InputIterator | __l )

inline

Definition at line 460 of file hashtable.h.

## insert_equal() [3/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _InputIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | input_iterator_tag | )

inline

Definition at line 474 of file hashtable.h.

## insert_equal() [4/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

iterator __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal | ( | const value_type & | __obj | ) |

inline

Definition at line 441 of file hashtable.h.

## insert_equal_noresize()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::iterator __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::insert_equal_noresize | ( | const value_type & | __obj | ) |

Definition at line 765 of file hashtable.h.

## insert_unique() [1/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _ForwardIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __l,
|  | forward_iterator_tag | )

inline

Definition at line 483 of file hashtable.h.

## insert_unique() [2/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _InputIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique | ( | _InputIterator | __f,
|  | _InputIterator | __l )

inline

Definition at line 455 of file hashtable.h.

## insert_unique() [3/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _InputIterator>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | input_iterator_tag | )

inline

Definition at line 465 of file hashtable.h.

## insert_unique() [4/4]

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

pair< iterator, bool > __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique | ( | const value_type & | __obj | ) |

inline

Definition at line 434 of file hashtable.h.

## insert_unique_noresize()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

pair< typename hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::iterator, bool > __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::insert_unique_noresize | ( | const value_type & | __obj | ) |

Definition at line 746 of file hashtable.h.

## key_eq()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

key_equal __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::key_eq | ( |  | ) | const

inline

Definition at line 274 of file hashtable.h.

## max_bucket_count()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::max_bucket_count | ( |  | ) | const

inline

Definition at line 421 of file hashtable.h.

## max_size()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::max_size | ( |  | ) | const

inline

Definition at line 366 of file hashtable.h.

## operator=()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

hashtable & __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::operator= | ( | const hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > & | __ht | ) |

inline

Definition at line 345 of file hashtable.h.

## resize()

template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>

void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::resize | ( | size_type | __num_elements_hint | ) |

Definition at line 987 of file hashtable.h.

## size()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::size | ( |  | ) | const

inline

Definition at line 362 of file hashtable.h.

## swap()

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

void __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::swap | ( | hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc > & | __ht | ) |

inline

Definition at line 374 of file hashtable.h.

## Friends And Related Symbol Documentation

## _Hashtable_const_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

friend struct _Hashtable_const_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >

friend

Definition at line 314 of file hashtable.h.

## _Hashtable_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

friend struct _Hashtable_iterator< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >

friend

Definition at line 314 of file hashtable.h.

## operator==

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>
template<class _Vl, class _Ky, class _HF, class _Ex, class _Eq, class _Al>

bool operator== | ( | const hashtable< _Vl, _Ky, _HF, _Ex, _Eq, _Al > & | ,
|  | const hashtable< _Vl, _Ky, _HF, _Ex, _Eq, _Al > & | )

friend

## Member Data Documentation

## _M_buckets

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

_Vector_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_buckets

private

Definition at line 305 of file hashtable.h.

## _M_equals

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

key_equal __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_equals

private

Definition at line 303 of file hashtable.h.

## _M_get_key

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

_ExtractKey __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_get_key

private

Definition at line 304 of file hashtable.h.

## _M_hash

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

hasher __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_hash

private

Definition at line 302 of file hashtable.h.

## _M_node_allocator

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

_Node_Alloc __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_node_allocator

private

Definition at line 291 of file hashtable.h.

## _M_num_elements

template<class _Val, class _Key, class _HashFcn, class _ExtractKey, class _EqualKey, class _Alloc>

size_type __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_num_elements

private

Definition at line 306 of file hashtable.h.

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

- src/hash_map/hashtable.h