Version: 5.1.6

INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc > Class Template Reference

#include <InterpKernelHashMap.hxx>

Inheritance diagram for INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >:
Inheritance graph

Public Types

typedef _Ht::key_type key_type
typedef _Tp data_type
typedef _Tp mapped_type
typedef _Ht::value_type value_type
typedef _Ht::hasher hasher
typedef _Ht::key_equal key_equal
typedef _Ht::size_type size_type
typedef _Ht::difference_type difference_type
typedef _Ht::pointer pointer
typedef _Ht::const_pointer const_pointer
typedef _Ht::reference reference
typedef _Ht::const_reference const_reference
typedef _Ht::iterator iterator
typedef _Ht::const_iterator const_iterator
typedef _Ht::allocator_type allocator_type

Public Member Functions

hasher hash_funct () const
key_equal key_eq () const
allocator_type get_allocator () const
 HashMap ()
 HashMap (size_type __n)
 HashMap (size_type __n, const hasher &__hf)
 HashMap (size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
template<class _InputIterator >
 HashMap (_InputIterator __f, _InputIterator __l)
template<class _InputIterator >
 HashMap (_InputIterator __f, _InputIterator __l, size_type __n)
template<class _InputIterator >
 HashMap (_InputIterator __f, _InputIterator __l, size_type __n, const hasher &__hf)
template<class _InputIterator >
 HashMap (_InputIterator __f, _InputIterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
size_type size () const
size_type max_size () const
bool empty () const
void swap (HashMap &__hs)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
std::pair< iterator, bool > insert (const value_type &__obj)
template<class _InputIterator >
void insert (_InputIterator __f, _InputIterator __l)
std::pair< iterator, bool > insert_noresize (const value_type &__obj)
iterator find (const key_type &__key)
const_iterator find (const key_type &__key) const
_Tpoperator[] (const key_type &__key)
size_type count (const key_type &__key) const
std::pair< iterator, iteratorequal_range (const key_type &__key)
std::pair< const_iterator,
const_iterator
equal_range (const key_type &__key) const
size_type erase (const key_type &__key)
void erase (iterator __it)
void erase (iterator __f, iterator __l)
void clear ()
void resize (size_type __hint)
size_type bucket_count () const
size_type max_bucket_count () const
size_type elems_in_bucket (size_type __n) const

Private Types

typedef hashtable< std::pair
< const _Key, _Tp >, _Key,
_HashFn, STLEXT::Select1st
< std::pair< const _Key, _Tp >
>, _EqualKey, _Alloc > 
_Ht

Private Attributes

_Ht _M_ht

Friends

template<class _K1 , class _T1 , class _HF , class _EqK , class _Al >
bool operator== (const HashMap< _K1, _T1, _HF, _EqK, _Al > &, const HashMap< _K1, _T1, _HF, _EqK, _Al > &)

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
class INTERP_KERNEL::HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >


Member Typedef Documentation

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef hashtable<std::pair<const _Key, _Tp>,_Key, _HashFn, STLEXT::Select1st<std::pair<const _Key, _Tp> >, _EqualKey, _Alloc> INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >._Ht [private]
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::key_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.key_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Tp INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.data_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Tp INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.mapped_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::value_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.value_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::hasher INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.hasher
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::key_equal INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.key_equal
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.size_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::difference_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.difference_type
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::pointer INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.pointer
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::const_pointer INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.const_pointer
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::reference INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.reference
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::const_reference INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.const_reference
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.iterator
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::const_iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.const_iterator
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
typedef _Ht::allocator_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.allocator_type

Constructor & Destructor Documentation

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap (  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( size_type  __n  )  [explicit]
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( size_type  __n,
const hasher __hf 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( size_type  __n,
const hasher __hf,
const key_equal __eql,
const allocator_type __a = allocator_type() 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _InputIterator >
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( _InputIterator  __f,
_InputIterator  __l 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _InputIterator >
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( _InputIterator  __f,
_InputIterator  __l,
size_type  __n 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _InputIterator >
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( _InputIterator  __f,
_InputIterator  __l,
size_type  __n,
const hasher __hf 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _InputIterator >
INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.HashMap ( _InputIterator  __f,
_InputIterator  __l,
size_type  __n,
const hasher __hf,
const key_equal __eql,
const allocator_type __a = allocator_type() 
)

Member Function Documentation

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
hasher INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.hash_funct (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
key_equal INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.key_eq (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
allocator_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.get_allocator (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.size (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.max_size (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
bool INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.empty (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.swap ( HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc > &  __hs  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.begin (  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.end (  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
const_iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.begin (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
const_iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.end (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
std::pair<iterator, bool> INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.insert ( const value_type __obj  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _InputIterator >
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.insert ( _InputIterator  __f,
_InputIterator  __l 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
std::pair<iterator, bool> INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.insert_noresize ( const value_type __obj  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.find ( const key_type __key  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
const_iterator INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.find ( const key_type __key  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
_Tp& INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.operator[] ( const key_type __key  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.count ( const key_type __key  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
std::pair<iterator, iterator> INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.equal_range ( const key_type __key  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
std::pair<const_iterator, const_iterator> INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.equal_range ( const key_type __key  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.erase ( const key_type __key  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.erase ( iterator  __it  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.erase ( iterator  __f,
iterator  __l 
)
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.clear (  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
void INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.resize ( size_type  __hint  ) 
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.bucket_count (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.max_bucket_count (  )  const
template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
size_type INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >.elems_in_bucket ( size_type  __n  )  const

Friends And Related Function Documentation

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
template<class _K1 , class _T1 , class _HF , class _EqK , class _Al >
bool operator== ( const HashMap< _K1, _T1, _HF, _EqK, _Al > &  ,
const HashMap< _K1, _T1, _HF, _EqK, _Al > &   
) [friend]

Field Documentation

template<class _Key, class _Tp, class _HashFn = hash<_Key>, class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator<_Tp>>
_Ht INTERP_KERNEL.HashMap< _Key, _Tp, _HashFn, _EqualKey, _Alloc >._M_ht [private]