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

Public Types

enum  { store_hash }
 
typedef _Alloc allocator_type
 
typedef Comb_Probe_Fn comb_probe_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 Probe_Fn probe_fn
 
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 stored_data< value_type, size_type, Store_Hash > stored_data_type
 
typedef traits_base::value_type value_type
 

Public Member Functions

 gp_ht_map (const gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy > &)
 
 gp_ht_map (const Hash_Fn &)
 
 gp_ht_map (const Hash_Fn &, const Eq_Fn &)
 
 gp_ht_map (const Hash_Fn &, const Eq_Fn &, const Comb_Probe_Fn &)
 
 gp_ht_map (const Hash_Fn &, const Eq_Fn &, const Comb_Probe_Fn &, const Probe_Fn &)
 
 gp_ht_map (const Hash_Fn &, const Eq_Fn &, const Comb_Probe_Fn &, const Probe_Fn &, const 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_Probe_Fn & get_comb_probe_fn ()
 
const Comb_Probe_Fn & get_comb_probe_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
 
Probe_Fn & get_probe_fn ()
 
const Probe_Fn & get_probe_fn () const
 
Resize_Policy & get_resize_policy ()
 
const Resize_Policy & get_resize_policy () const
 
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 (gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_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_Probe_Fn, typename Probe_Fn, typename Resize_Policy>
class __gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >

A general-probing 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_Probe_FnCombining probe functor. If Hash_Fn is not null_type, then this is the ranged-probe functor; otherwise, this is the range-hashing functor. XXX See Design::Hash-Based Containers::Hash Policies. Default direct_mask_range_hashing.
Probe_FnProbe functor. Defaults to linear_probe_fn, also quadratic_probe_fn.
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_probe_fn, detail::types_traits. (Optional: detail::debug_map_base.)

Definition at line 142 of file gp_ht_map_.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Probe_Fn , typename Probe_Fn , typename Resize_Policy >
anonymous enum

Value stores hash, true or false.

Definition at line 209 of file gp_ht_map_.hpp.

Member Function Documentation

◆ empty()

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

True if size() == 0.

◆ get_comb_probe_fn() [1/2]

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Probe_Fn , typename Probe_Fn , typename Resize_Policy >
Comb_Probe_Fn& __gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::get_comb_probe_fn ( )

Return current comb_probe_fn.

◆ get_comb_probe_fn() [2/2]

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Probe_Fn , typename Probe_Fn , typename Resize_Policy >
const Comb_Probe_Fn& __gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::get_comb_probe_fn ( ) const

Return current const comb_probe_fn.

◆ get_eq_fn() [1/2]

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

Return current eq_fn.

◆ get_eq_fn() [2/2]

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

Return current const eq_fn.

◆ get_hash_fn() [1/2]

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

Return current hash_fn.

◆ get_hash_fn() [2/2]

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

Return current const hash_fn.

◆ get_probe_fn() [1/2]

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Probe_Fn , typename Probe_Fn , typename Resize_Policy >
Probe_Fn& __gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::get_probe_fn ( )

Return current probe_fn.

◆ get_probe_fn() [2/2]

template<typename Key , typename Mapped , typename Hash_Fn , typename Eq_Fn , typename _Alloc , bool Store_Hash, typename Comb_Probe_Fn , typename Probe_Fn , typename Resize_Policy >
const Probe_Fn& __gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::get_probe_fn ( ) const

Return current const probe_fn.

◆ get_resize_policy() [1/2]

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

Return current resize_policy.

◆ get_resize_policy() [2/2]

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

Return current const resize_policy.


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