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 >:

List of all members.

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 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 143 of file gp_ht_map_.hpp.


Member Enumeration Documentation

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

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.

Definition at line 58 of file gp_ht_map_.hpp.

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.

Definition at line 82 of file gp_ht_map_.hpp.

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.

Definition at line 88 of file gp_ht_map_.hpp.

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.

Definition at line 58 of file gp_ht_map_.hpp.

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.

Definition at line 64 of file gp_ht_map_.hpp.

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.

Definition at line 46 of file gp_ht_map_.hpp.

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.

Definition at line 52 of file gp_ht_map_.hpp.

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.

Definition at line 70 of file gp_ht_map_.hpp.

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.

Definition at line 76 of file gp_ht_map_.hpp.

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.

Definition at line 94 of file gp_ht_map_.hpp.

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.

Definition at line 100 of file gp_ht_map_.hpp.


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