#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 > &) |
|
Definition at line 241 of file ext/hashtable.h. |
|
Definition at line 247 of file ext/hashtable.h. |
|
Definition at line 248 of file ext/hashtable.h. |
|
Definition at line 249 of file ext/hashtable.h. Referenced by __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::resize(). |
|
Definition at line 244 of file ext/hashtable.h. |
|
|
Definition at line 233 of file ext/hashtable.h. |
|
Definition at line 235 of file ext/hashtable.h. |
|
Definition at line 231 of file ext/hashtable.h. |
|
Definition at line 227 of file ext/hashtable.h. |
|
|
Definition at line 228 of file ext/hashtable.h. |
|
Definition at line 225 of file ext/hashtable.h. |
|
Definition at line 232 of file ext/hashtable.h. |
|
Definition at line 234 of file ext/hashtable.h. |
|
Definition at line 230 of file ext/hashtable.h. Referenced by __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::max_size(). |
|
Definition at line 226 of file ext/hashtable.h. |
|
|
|
|
Definition at line 327 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::clear(). |
|
|
|
Definition at line 516 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_hash. |
|
|
|
|
|
|
Definition at line 252 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_node_allocator. Referenced by __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_new_node(). |
|
|
|
Definition at line 495 of file ext/hashtable.h. References __gnu_cxx::__stl_next_prime(). Referenced by __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_initialize_buckets(), and __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::resize(). |
|
|
|
|
Definition at line 367 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_buckets. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::bucket_count(). |
|
|
|
Definition at line 372 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_buckets. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::elems_in_bucket(). |
|
Definition at line 331 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::size(). Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::empty(). |
|
Definition at line 360 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_iterator. |
|
|
|
|
Definition at line 857 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::erase(), and __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::iterator. |
|
Definition at line 868 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::erase(), and __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::iterator. |
|
|
|
|
|
|
|
Definition at line 245 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_node_allocator. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::get_allocator(). |
|
Definition at line 237 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_hash. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::hash_funct(). |
|
|
Definition at line 416 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal(). |
|
Definition at line 402 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_equal(). |
|
|
|
|
Definition at line 408 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique(). |
|
Definition at line 396 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique(). |
|
|
Definition at line 657 of file ext/hashtable.h. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), and __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::insert_unique(). |
|
Definition at line 238 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::_M_equals. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::key_eq(). |
|
Definition at line 369 of file ext/hashtable.h. References __gnu_cxx::__stl_prime_list, and __gnu_cxx::_S_num_primes. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::max_bucket_count(). |
|
Definition at line 330 of file ext/hashtable.h. References __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::size_type. Referenced by __gnu_cxx::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::max_size(). |
|
|
|
|
|
Definition at line 271 of file ext/hashtable.h. |
|
Definition at line 269 of file ext/hashtable.h. |
|
|
|
|
|
|
|
|