__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
Extensions » Policy-Based Data Structures » Containers » Hash-Based » Base and Policy Classes
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 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)
_GLIBCXX_NODISCARD 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

  Key | Key type.
  Mapped | Map type.
  Hash_Fn | Hashing functor. Default is __gnu_cxx::hash.
  Eq_Fn | Equal functor. Default std::equal_to<Key>
  _Alloc | Allocator type.
  Store_Hash | If key type stores extra metadata. Defaults to false.
  Comb_Probe_Fn | Combining 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_Fn | Probe functor. Defaults to linear_probe_fn, also quadratic_probe_fn.
  Resize_Policy | Resizes 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 208 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 >

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

- gp_ht_map_.hpp