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 | NodeAlloc |
typedef Alloc::template rebind< Node * > ::other | NodeptrAlloc |
typedef vector< Node *, NodeptrAlloc > | 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 | |
NodeAlloc | 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 > |
Definition at line 223 of file ext/hashtable.h.