__gnu_cxx::hashtable< Val, Key, HashFcn, ExtractKey, EqualKey, Alloc > Class Template Reference

Collaboration diagram for __gnu_cxx::hashtable< Val, Key, HashFcn, ExtractKey, EqualKey, Alloc >:

Collaboration graph
[legend]
List of all members.

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_typepointer
typedef const value_typeconst_pointer
typedef value_typereference
typedef const value_typeconst_reference
typedef Alloc_traits< Val,
Alloc >::allocator_type 
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)
hashtableoperator= (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, iteratorequal_range (const key_type &__key)
pair< const_iterator, const_iteratorequal_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

Private Member Functions

NodeM_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
NodeM_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

Alloc_traits< Node, Alloc
>::allocator_type 
M_node_allocator
hasher M_hash
key_equal M_equals
ExtractKey M_get_key
vector< Node *, Alloc > 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 >

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 223 of file stl_hashtable.h.


The documentation for this class was generated from the following file:
Generated on Fri Sep 16 09:22:42 2005 for libstdc++-v3 Source by  doxygen 1.4.4