Frobby
0.9.5
|
#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 254 of file hashtable.h.
|
private |
Definition at line 278 of file hashtable.h.
|
private |
Definition at line 287 of file hashtable.h.
|
private |
Definition at line 288 of file hashtable.h.
|
private |
Definition at line 289 of file hashtable.h.
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.
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.
typedef const value_type* __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_pointer |
Definition at line 265 of file hashtable.h.
typedef const value_type& __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::const_reference |
Definition at line 267 of file hashtable.h.
typedef ptrdiff_t __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::difference_type |
Definition at line 263 of file hashtable.h.
typedef _HashFcn __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::hasher |
Definition at line 259 of file hashtable.h.
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.
typedef _EqualKey __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::key_equal |
Definition at line 260 of file hashtable.h.
typedef _Key __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::key_type |
Definition at line 257 of file hashtable.h.
typedef value_type* __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::pointer |
Definition at line 264 of file hashtable.h.
typedef value_type& __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::reference |
Definition at line 266 of file hashtable.h.
typedef size_t __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::size_type |
Definition at line 262 of file hashtable.h.
typedef _Val __gnu_cxx::hashtable< _Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc >::value_type |
Definition at line 258 of file hashtable.h.
|
inline |
Definition at line 322 of file hashtable.h.
|
inline |
Definition at line 329 of file hashtable.h.
|
inline |
Definition at line 336 of file hashtable.h.
|
inline |
Definition at line 356 of file hashtable.h.
|
inlineprivate |
Definition at line 587 of file hashtable.h.
|
inlineprivate |
Definition at line 595 of file hashtable.h.
|
inlineprivate |
Definition at line 583 of file hashtable.h.
|
inlineprivate |
Definition at line 591 of file hashtable.h.
|
private |
Definition at line 1094 of file hashtable.h.
|
inlineprivate |
Definition at line 616 of file hashtable.h.
|
private |
Definition at line 1034 of file hashtable.h.
|
private |
Definition at line 1059 of file hashtable.h.
|
inlineprivate |
Definition at line 294 of file hashtable.h.
|
inlineprivate |
Definition at line 574 of file hashtable.h.
|
inlineprivate |
Definition at line 599 of file hashtable.h.
|
inlineprivate |
Definition at line 570 of file hashtable.h.
|
inlineprivate |
Definition at line 298 of file hashtable.h.
|
inline |
Definition at line 382 of file hashtable.h.
|
inline |
Definition at line 395 of file hashtable.h.
|
inline |
Definition at line 415 of file hashtable.h.
void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::clear |
Definition at line 1075 of file hashtable.h.
|
inline |
Definition at line 529 of file hashtable.h.
|
inline |
Definition at line 423 of file hashtable.h.
|
inline |
Definition at line 368 of file hashtable.h.
|
inline |
Definition at line 391 of file hashtable.h.
|
inline |
Definition at line 404 of file hashtable.h.
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.
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.
|
inline |
Definition at line 980 of file hashtable.h.
void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | const iterator & | __it | ) |
Definition at line 905 of file hashtable.h.
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.
|
inline |
Definition at line 969 of file hashtable.h.
void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::erase | ( | iterator | __first, |
iterator | __last | ||
) |
Definition at line 944 of file hashtable.h.
|
inline |
Definition at line 505 of file hashtable.h.
|
inline |
Definition at line 517 of file hashtable.h.
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.
|
inline |
Definition at line 283 of file hashtable.h.
|
inline |
Definition at line 270 of file hashtable.h.
|
inline |
Definition at line 492 of file hashtable.h.
|
inline |
Definition at line 458 of file hashtable.h.
|
inline |
Definition at line 472 of file hashtable.h.
|
inline |
Definition at line 439 of file hashtable.h.
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.
|
inline |
Definition at line 481 of file hashtable.h.
|
inline |
Definition at line 453 of file hashtable.h.
|
inline |
Definition at line 463 of file hashtable.h.
|
inline |
Definition at line 432 of file hashtable.h.
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.
|
inline |
Definition at line 274 of file hashtable.h.
|
inline |
Definition at line 419 of file hashtable.h.
|
inline |
Definition at line 364 of file hashtable.h.
|
inline |
Definition at line 343 of file hashtable.h.
void __gnu_cxx::hashtable< _Val, _Key, _HF, _Ex, _Eq, _All >::resize | ( | size_type | __num_elements_hint | ) |
Definition at line 987 of file hashtable.h.
|
inline |
Definition at line 360 of file hashtable.h.
|
inline |
Definition at line 372 of file hashtable.h.
|
friend |
Definition at line 314 of file hashtable.h.
|
friend |
Definition at line 314 of file hashtable.h.
|
friend |
|
private |
Definition at line 305 of file hashtable.h.
|
private |
Definition at line 303 of file hashtable.h.
|
private |
Definition at line 304 of file hashtable.h.
|
private |
Definition at line 302 of file hashtable.h.
|
private |
Definition at line 291 of file hashtable.h.
|
private |
Definition at line 306 of file hashtable.h.