BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > Class Template Reference

#include <bslstp_hashtable.h>

Public Types

typedef _Key key_type
 
typedef _Val value_type
 
typedef _HF hasher
 
typedef _EqK 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 std::forward_iterator_tag _Iterator_category
 
typedef _Alloc_traits< _Val, _All >::allocator_type allocator_type
 
typedef _Const_traits< _Val > __const_val_traits
 
typedef _Nonconst_traits< _Val > __nonconst_val_traits
 
typedef _Ht_iterator< _Val, __const_val_traits, _Key, _HF, _ExK, _EqK, _All > const_iterator
 
typedef _Ht_iterator< _Val, __nonconst_val_traits, _Key, _HF, _ExK, _EqK, _All > iterator
 

Public Member Functions

hasher hash_funct () const
 
key_equal key_eq () const
 
allocator_type get_allocator () const
 
 hashtable (size_type __n, const _HF &__hf, const _EqK &__eql, const _ExK &__ext, const allocator_type &__a=allocator_type())
 
 hashtable (size_type __n, const _HF &__hf, const _EqK &__eql, const allocator_type &__a=allocator_type())
 
 hashtable (const _Self &__ht)
 
 hashtable (const _Self &__ht, const allocator_type &__a)
 
_Selfoperator= (const _Self &__ht)
 
 ~hashtable ()
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
void swap (_Self &__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, const std::input_iterator_tag &)
 
template<class _InputIterator >
void insert_equal (_InputIterator __f, _InputIterator __l, const std::input_iterator_tag &)
 
template<class _ForwardIterator >
void insert_unique (_ForwardIterator __f, _ForwardIterator __l, const std::forward_iterator_tag &)
 
template<class _ForwardIterator >
void insert_equal (_ForwardIterator __f, _ForwardIterator __l, const std::forward_iterator_tag &)
 
reference find_or_insert (const value_type &__obj)
 
template<class _KT >
iterator find (const _KT &__key)
 
template<class _KT >
const_iterator find (const _KT &__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 const_iterator &__it)
 
void erase (const_iterator __first, const_iterator __last)
 
void resize (size_type __num_elements_hint)
 
void clear ()
 
reference _M_insert (const value_type &__obj)
 

Static Public Member Functions

static bool _M_equal (const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &, const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &)
 

Friends

struct QuickSwap
 
struct _Hashtable_iterator< _Val, _Key, _HF, _ExK, _EqK, _All >
 
struct _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >
 
struct _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >
 

Member Typedef Documentation

◆ __const_val_traits

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Const_traits<_Val> bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::__const_val_traits

◆ __nonconst_val_traits

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Nonconst_traits<_Val> bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::__nonconst_val_traits

◆ _Iterator_category

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef std::forward_iterator_tag bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::_Iterator_category

◆ allocator_type

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Alloc_traits<_Val,_All>::allocator_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::allocator_type

◆ const_iterator

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Ht_iterator<_Val, __const_val_traits,_Key,_HF,_ExK,_EqK, _All> bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::const_iterator

◆ const_pointer

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef const value_type* bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::const_pointer

◆ const_reference

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef const value_type& bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::const_reference

◆ difference_type

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef ptrdiff_t bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::difference_type

◆ hasher

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _HF bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hasher

◆ iterator

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Ht_iterator<_Val, __nonconst_val_traits,_Key,_HF,_ExK,_EqK,_All> bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::iterator

◆ key_equal

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _EqK bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::key_equal

◆ key_type

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Key bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::key_type

◆ pointer

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef value_type* bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::pointer

◆ reference

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef value_type& bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::reference

◆ size_type

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef size_t bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::size_type

◆ value_type

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
typedef _Val bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::value_type

Constructor & Destructor Documentation

◆ hashtable() [1/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hashtable ( size_type  __n,
const _HF &  __hf,
const _EqK &  __eql,
const _ExK &  __ext,
const allocator_type __a = allocator_type() 
)
inline

◆ hashtable() [2/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hashtable ( size_type  __n,
const _HF &  __hf,
const _EqK &  __eql,
const allocator_type __a = allocator_type() 
)
inline

◆ hashtable() [3/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hashtable ( const _Self __ht)
inline

◆ hashtable() [4/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hashtable ( const _Self __ht,
const allocator_type __a 
)
inline

◆ ~hashtable()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::~hashtable ( )
inline

Member Function Documentation

◆ _M_equal()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bool bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::_M_equal ( const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &  __ht1,
const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &  __ht2 
)
static

◆ _M_insert()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::reference bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::_M_insert ( const value_type __obj)

◆ begin() [1/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::begin ( )
inline

◆ begin() [2/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
const_iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::begin ( ) const
inline

◆ bucket_count()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::bucket_count ( ) const
inline

◆ clear()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::clear ( )

◆ count()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::count ( const key_type __key) const
inline

◆ elems_in_bucket()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::elems_in_bucket ( size_type  __bucket) const
inline

◆ empty()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
bool bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::empty ( ) const
inline

◆ end() [1/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::end ( )
inline

◆ end() [2/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
const_iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::end ( ) const
inline

◆ equal_range() [1/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
pair< _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >, _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > > bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::equal_range ( const key_type __key)

◆ equal_range() [2/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
pair< _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >, _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > > bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::equal_range ( const key_type __key) const

◆ erase() [1/3]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::erase ( const const_iterator __it)

◆ erase() [2/3]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::erase ( const key_type __key)

◆ erase() [3/3]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::erase ( const_iterator  __first,
const_iterator  __last 
)

◆ find() [1/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _KT >
iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::find ( const _KT &  __key)
inline

◆ find() [2/2]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _KT >
const_iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::find ( const _KT &  __key) const
inline

◆ find_or_insert()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::reference bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::find_or_insert ( const value_type __obj)

◆ get_allocator()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
allocator_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::get_allocator ( ) const
inline

◆ hash_funct()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
hasher bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::hash_funct ( ) const
inline

◆ insert_equal() [1/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _ForwardIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_equal ( _ForwardIterator  __f,
_ForwardIterator  __l,
const std::forward_iterator_tag &   
)
inline

◆ insert_equal() [2/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _InputIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_equal ( _InputIterator  __f,
_InputIterator  __l 
)
inline

◆ insert_equal() [3/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _InputIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_equal ( _InputIterator  __f,
_InputIterator  __l,
const std::input_iterator_tag &   
)
inline

◆ insert_equal() [4/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_equal ( const value_type __obj)
inline

◆ insert_equal_noresize()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::iterator bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_equal_noresize ( const value_type __obj)

◆ insert_unique() [1/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _ForwardIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_unique ( _ForwardIterator  __f,
_ForwardIterator  __l,
const std::forward_iterator_tag &   
)
inline

◆ insert_unique() [2/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _InputIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_unique ( _InputIterator  __f,
_InputIterator  __l 
)
inline

◆ insert_unique() [3/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
template<class _InputIterator >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_unique ( _InputIterator  __f,
_InputIterator  __l,
const std::input_iterator_tag &   
)
inline

◆ insert_unique() [4/4]

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
pair< iterator, bool > bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_unique ( const value_type __obj)
inline

◆ insert_unique_noresize()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
pair< _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >, bool > bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::insert_unique_noresize ( const value_type __obj)

◆ key_eq()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
key_equal bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::key_eq ( ) const
inline

◆ max_bucket_count()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::max_bucket_count ( ) const
inline

◆ max_size()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::max_size ( ) const
inline

◆ operator=()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
_Self & bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::operator= ( const _Self __ht)
inline

◆ resize()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::resize ( size_type  __num_elements_hint)

◆ size()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
size_type bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::size ( ) const
inline

◆ swap()

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
void bsl::hashtable< _Val, _Key, _HF, _ExK, _EqK, _All >::swap ( _Self __ht)
inline

Friends And Related Symbol Documentation

◆ _Hashtable_iterator< _Val, _Key, _HF, _ExK, _EqK, _All >

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
friend struct _Hashtable_iterator< _Val, _Key, _HF, _ExK, _EqK, _All >
friend

◆ _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
friend struct _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >
friend

◆ _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
friend struct _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All >
friend

◆ QuickSwap

template<class _Val , class _Key , class _HF , class _ExK , class _EqK , class _All >
friend struct QuickSwap
friend

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