GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc > Class Template Reference

A hashed container abstraction. More...

#include <assoc_container.hpp>

Inheritance diagram for __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >:
Collaboration diagram for __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >:

Public Member Functions

virtual ~basic_hash_table ()
 

Protected Member Functions

 basic_hash_table ()
 
 basic_hash_table (const basic_hash_table &other)
 
template<typename T0 >
 basic_hash_table (T0 t0)
 
template<typename T0 , typename T1 >
 basic_hash_table (T0 t0, T1 t1)
 
template<typename T0 , typename T1 , typename T2 >
 basic_hash_table (T0 t0, T1 t1, T2 t2)
 
template<typename T0 , typename T1 , typename T2 , typename T3 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
 basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
 

Private Types

typedef detail::container_base_dispatch< Key, Mapped, _Alloc, Tag, typename __gnu_cxx::typelist::append< typename __gnu_cxx::typelist::create4< Hash_Fn, Eq_Fn, Resize_Policy, detail::integral_constant< int, Store_Hash > >::type, Policy_Tl >::type >::type base_type
 

Private Member Functions

basic_hash_tableoperator= (const base_type &)
 

Detailed Description

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
class __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >

A hashed container abstraction.

Template Parameters
KeyKey type.
MappedMap type.
Hash_FnHashing functor.
Eq_FnEqual functor.
Resize_PolicyResizes hash.
Store_HashIndicates whether the hash value will be stored along with each key.
TagInstantiating data structure type, see container_tag.
Policy_TLPolicy typelist.
_AllocAllocator type.

Base is dispatched at compile time via Tag, from the following choices: cc_hash_tag, gp_hash_tag, and descendants of basic_hash_tag.

Base choices are: detail::cc_ht_map, detail::gp_ht_map

Member Typedef Documentation

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
typedef detail::container_base_dispatch<Key, Mapped, _Alloc, Tag, typename __gnu_cxx::typelist::append< typename __gnu_cxx::typelist::create4<Hash_Fn, Eq_Fn, Resize_Policy, detail::integral_constant<int, Store_Hash> >::type, Policy_Tl>::type>::type __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::base_type
private

Constructor & Destructor Documentation

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
virtual __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::~basic_hash_table ( )
inlinevirtual
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( )
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( const basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc > &  other)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5,
T6  t6 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5,
T6  t6,
T7  t7 
)
inlineprotected
template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::basic_hash_table ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5,
T6  t6,
T7  t7,
T8  t8 
)
inlineprotected

Member Function Documentation

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename Resize_Policy, bool Store_Hash, typename Tag, typename Policy_Tl, typename _Alloc>
basic_hash_table& __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >::operator= ( const base_type )
private

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