libstdc++
__gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy > Class Template Reference
Inheritance diagram for __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >:
[legend]

Public Types

enum  { store_hash }
 
typedef _Alloc allocator_type
 
typedef Comb_Hash_Fn comb_hash_fn
 
typedef const_iterator_ const_iterator
 
typedef traits_base::const_pointer const_pointer
 
typedef traits_base::const_reference const_reference
 
typedef _Alloc::difference_type difference_type
 
typedef Eq_Fn eq_fn
 
typedef Hash_Fn hash_fn
 
typedef iterator_ iterator
 
typedef traits_base::key_const_pointer key_const_pointer
 
typedef traits_base::key_const_reference key_const_reference
 
typedef traits_base::key_pointer key_pointer
 
typedef traits_base::key_reference key_reference
 
typedef traits_base::key_type key_type
 
typedef traits_base::mapped_const_pointer mapped_const_pointer
 
typedef traits_base::mapped_const_reference mapped_const_reference
 
typedef traits_base::mapped_pointer mapped_pointer
 
typedef traits_base::mapped_reference mapped_reference
 
typedef traits_base::mapped_type mapped_type
 
typedef __nothrowcopy::indicator no_throw_indicator
 
typedef point_const_iterator_ point_const_iterator
 
typedef point_iterator_ point_iterator
 
typedef traits_base::pointer pointer
 
typedef traits_base::reference reference
 
typedef Resize_Policy resize_policy
 
typedef _Alloc::size_type size_type
 
typedef integral_constant< int, Store_Hash > store_extra
 
typedef traits_base::value_type value_type
 

Public Member Functions

 cc_ht_map (const Hash_Fn &)
 
 cc_ht_map (const Hash_Fn &, const Eq_Fn &)
 
 cc_ht_map (const Hash_Fn &, const Eq_Fn &, const Comb_Hash_Fn &)
 
 cc_ht_map (const Hash_Fn &, const Eq_Fn &, const Comb_Hash_Fn &, const Resize_Policy &)
 
 cc_ht_map (const cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy > &)
 
iterator begin ()
 
const_iterator begin () const
 
void clear ()
 
template<typename It >
void copy_from_range (It, It)
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
bool erase (key_const_reference)
 
template<typename Pred >
size_type erase_if (Pred)
 
point_iterator find (key_const_reference)
 
point_const_iterator find (key_const_reference) const
 
point_iterator find_end ()
 
point_const_iterator find_end () const
 
Comb_Hash_Fn & get_comb_hash_fn ()
 
const Comb_Hash_Fn & get_comb_hash_fn () const
 
Eq_Fn & get_eq_fn ()
 
const Eq_Fn & get_eq_fn () const
 
Hash_Fn & get_hash_fn ()
 
const Hash_Fn & get_hash_fn () const
 
Resize_Policy & get_resize_policy ()
 
const Resize_Policy & get_resize_policy () const
 
void initialize ()
 
std::pair< point_iterator, bool > insert (const_reference r_val)
 
size_type max_size () const
 
mapped_reference operator[] (key_const_reference r_key)
 
size_type size () const
 
void swap (cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy > &)
 

Public Attributes

no_throw_indicator m_no_throw_copies_indicator
 
store_extra m_store_extra_indicator
 

Friends

class const_iterator_
 
class iterator_
 

Detailed Description

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, typename _Alloc, bool Store_Hash, typename Comb_Hash_Fn, typename Resize_Policy>
class __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >

A collision-chaining hash-based container.

Template Parameters
KeyKey type.
MappedMap type.
Hash_FnHashing functor. Default is __gnu_cxx::hash.
Eq_FnEqual functor. Default std::equal_to<Key>
_AllocAllocator type.
Store_HashIf key type stores extra metadata. Defaults to false.
Comb_Hash_FnCombining hash functor. If Hash_Fn is not null_type, then this is the ranged-hash functor; otherwise, this is the range-hashing functor. XXX(See Design::Hash-Based Containers::Hash Policies.) Default direct_mask_range_hashing.
Resize_PolicyResizes hash. Defaults to hash_standard_resize_policy, using hash_exponential_size_policy and hash_load_check_resize_trigger.

Bases are: detail::hash_eq_fn, Resize_Policy, detail::ranged_hash_fn, detail::types_traits. (Optional: detail::debug_map_base.)

Definition at line 139 of file cc_ht_map_.hpp.

Member Function Documentation

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
bool __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::empty ( ) const
inline

True if size() == 0.

Definition at line 52 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
Comb_Hash_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_comb_hash_fn ( )

Return current comb_hash_fn.

Definition at line 70 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
const Comb_Hash_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_comb_hash_fn ( ) const

Return current const comb_hash_fn.

Definition at line 76 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
Eq_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_eq_fn ( )

Return current eq_fn.

Definition at line 58 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
const Eq_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_eq_fn ( ) const

Return current const eq_fn.

Definition at line 64 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
Hash_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_hash_fn ( )

Return current hash_fn.

Definition at line 46 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
const Hash_Fn & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_hash_fn ( ) const

Return current const hash_fn.

Definition at line 52 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
Resize_Policy & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_resize_policy ( )

Return current resize_policy.

Definition at line 82 of file cc_ht_map_.hpp.

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Hash_Fn , typename Resize_Policy >
const Resize_Policy & __gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_resize_policy ( ) const

Return current const resize_policy.

Definition at line 88 of file cc_ht_map_.hpp.


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