A collision-chaining hash-based container. More...
#include <cc_ht_map_.hpp>
Classes | |
struct | entry |
Public Types | |
enum | { store_hash = Store_Hash } |
Value stores hash, true or false. More... | |
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 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 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 Attributes | |
no_throw_indicator | m_no_throw_copies_indicator |
store_extra | m_store_extra_indicator |
Private Types | |
enum | { store_hash_ok } |
typedef traits_base::comp_hash | comp_hash |
typedef cond_dealtor< entry, _Alloc > | cond_dealtor_t |
typedef entry_allocator::const_pointer | const_entry_pointer |
typedef entry_allocator::const_reference | const_entry_reference |
typedef traits_base::const_pointer | const_pointer_ |
typedef traits_base::const_reference | const_reference_ |
typedef _Alloc::template rebind< entry >::other | entry_allocator |
typedef entry_allocator::pointer | entry_pointer |
typedef _Alloc::template rebind< entry_pointer >::other | entry_pointer_allocator |
typedef entry_pointer_allocator::pointer | entry_pointer_array |
typedef entry_allocator::reference | entry_reference |
typedef hash_eq_fn< Key, Eq_Fn, _Alloc, Store_Hash > | hash_eq_fn_base |
typedef traits_base::pointer | pointer_ |
typedef ranged_hash_fn< Key, Hash_Fn, _Alloc, Comb_Hash_Fn, Store_Hash > | ranged_hash_fn_base |
typedef traits_base::reference | reference_ |
typedef Resize_Policy | resize_base |
typedef types_traits< Key, Mapped, _Alloc, Store_Hash > | traits_base |
typedef traits_base::value_type | value_type_ |
Private Attributes | |
entry_pointer_array | m_entries |
size_type | m_num_e |
size_type | m_num_used_e |
Static Private Attributes | |
static const_iterator | s_const_end_it |
static point_const_iterator | s_const_find_end_it |
static iterator | s_end_it |
static entry_allocator | s_entry_allocator |
static entry_pointer_allocator | s_entry_pointer_allocator |
static point_iterator | s_find_end_it |
Friends | |
class | const_iterator_ |
A collision-chaining hash-based container.
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_Hash_Fn | Combining 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_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_hash_fn, detail::types_traits. (Optional: detail::debug_map_base.)
typedef _Alloc __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::allocator_type |
typedef Comb_Hash_Fn __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::comb_hash_fn |
|
private |
|
private |
|
private |
|
private |
typedef const_iterator_ __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::const_iterator |
typedef traits_base::const_pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::const_pointer |
|
private |
typedef traits_base::const_reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::const_reference |
|
private |
typedef _Alloc::difference_type __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::difference_type |
|
private |
|
private |
|
private |
|
private |
|
private |
typedef Eq_Fn __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::eq_fn |
|
private |
typedef Hash_Fn __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::hash_fn |
typedef traits_base::key_const_pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::key_const_pointer |
typedef traits_base::key_const_reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::key_const_reference |
typedef traits_base::key_pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::key_pointer |
typedef traits_base::key_reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::key_reference |
typedef traits_base::key_type __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::key_type |
typedef traits_base::mapped_const_pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::mapped_const_pointer |
typedef traits_base::mapped_const_reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::mapped_const_reference |
typedef traits_base::mapped_pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::mapped_pointer |
typedef traits_base::mapped_reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::mapped_reference |
typedef traits_base::mapped_type __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::mapped_type |
|
inherited |
typedef point_const_iterator_ __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::point_const_iterator |
typedef traits_base::pointer __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::pointer |
|
private |
|
private |
typedef traits_base::reference __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::reference |
|
private |
|
private |
typedef Resize_Policy __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::resize_policy |
typedef _Alloc::size_type __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::size_type |
|
inherited |
|
private |
typedef traits_base::value_type __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::value_type |
|
private |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | ) |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | const Hash_Fn & | ) |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | const Hash_Fn & | , |
const Eq_Fn & | |||
) |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | const Hash_Fn & | , |
const Eq_Fn & | , | ||
const Comb_Hash_Fn & | |||
) |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | const Hash_Fn & | , |
const Eq_Fn & | , | ||
const Comb_Hash_Fn & | , | ||
const Resize_Policy & | |||
) |
__gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::PB_DS_CC_HASH_NAME | ( | const PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy > & | ) |
|
virtual |
|
inline |
|
inline |
void __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::clear | ( | ) |
void __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::copy_from_range | ( | It | , |
It | |||
) |
|
private |
|
private |
|
private |
|
inlineprivate |
|
inlineprivate |
|
inline |
True if size() == 0.
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
Comb_Hash_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_comb_hash_fn | ( | ) |
Return current comb_hash_fn.
const Comb_Hash_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< 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.
|
inlineprivate |
|
inlineprivate |
Eq_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_eq_fn | ( | ) |
Return current eq_fn.
const Eq_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_eq_fn | ( | ) | const |
Return current const eq_fn.
Hash_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_hash_fn | ( | ) |
Return current hash_fn.
const Hash_Fn& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_hash_fn | ( | ) | const |
Return current const hash_fn.
Resize_Policy& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_resize_policy | ( | ) |
Return current resize_policy.
const Resize_Policy& __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_resize_policy | ( | ) | const |
Return current const resize_policy.
|
inlineprivate |
|
inlineprivate |
void __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::initialize | ( | ) |
|
inline |
References __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::insert_imp(), and __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_store_extra_indicator.
Referenced by __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::operator[]().
|
inlineprivate |
Referenced by __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::insert().
|
inlineprivate |
|
inlineprivate |
References _GLIBCXX_DEBUG_ONLY, __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::do_resize_if_needed(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_entry(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::m_entries, __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_no_throw_copies_indicator, __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::m_num_used_e, and PB_DS_V2F.
|
inlineprivate |
References _GLIBCXX_DEBUG_ONLY, __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::do_resize_if_needed(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_entry(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::m_entries, __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_no_throw_copies_indicator, __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::m_num_used_e, and PB_DS_V2F.
|
inline |
|
inline |
References __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::insert(), and __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_store_extra_indicator.
|
private |
|
inlineprivate |
|
private |
|
private |
|
inlineprivate |
|
inlineprivate |
|
inline |
void __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::swap | ( | PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy > & | ) |
|
friend |
|
private |
Referenced by __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::find_key_pointer(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::get_start_it_state(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::inc_it_state(), and __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::insert_new_imp().
|
inherited |
|
private |
|
private |
|
inherited |
Referenced by __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::insert(), __gnu_pbds::detail::PB_DS_GP_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::insert(), __gnu_pbds::detail::PB_DS_GP_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::insert_new_imp(), __gnu_pbds::detail::PB_DS_CC_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >::operator[](), and __gnu_pbds::detail::PB_DS_GP_HASH_NAME< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >::operator[]().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |