STD::__DETAIL::_HASHTABLE_BASE(3cxx)
π std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits > π
okay bestie, welcome to the <hashtable_policy.h> corner of libstdc++ β this is a C++ manual page, section 3cxx, and the header line up top literally reads std::__detail:...Hash, _Traits >(3cxx) because the name is so long the terminal had to start abbreviating it. iconic behavior honestly. π«Ά
β¨ SYNOPSIS β¨
#include <hashtable_policy.h>
Inherits std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, _Traits::__hash_cached::value >, and std::__detail::_Hashtable_ebo_helper< 0, _Equal >.
Inherited by std::_Hashtable< _Key, _Tp, _Hash, _Pred, allocator< std::pair< const _Key, _Tp > > >, std::_Hashtable< _Key, _Tp, hash< _Key >, equal_to< _Key >, allocator< std::pair< const _Key, _Tp > > >, std::_Hashtable< _Value, hash< _Value >, equal_to< _Value >, allocator< _Value > >, and std::_Hashtable< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >.
not one, not two, but four _Hashtable flavors are vibing downstream of this thing. it's giving family tree energy. π³
π Public Types π
the whole squad of typedefs, no cap:
using __constant_iterators = typename __traits_type::__constant_iteratorsusing __hash_cached = typename __traits_type::__hash_cachedusing __hash_code = typename __hash_code_base::__hash_codeusing __hash_code_base = _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __hash_cached::value >using __ireturn_type = typename std::conditional< __unique_keys::value, std::pair< iterator, bool >, iterator >::typeusing __node_type = typename __hash_code_base::__node_typeusing __traits_type = _Traitsusing __unique_keys = typename __traits_type::__unique_keysusing const_iterator = __detail::_Node_const_iterator< value_type, __constant_iterators::value, __hash_cached::value >using const_local_iterator = __detail::_Local_const_iterator< key_type, value_type, _ExtractKey, _H1, _H2, _Hash, __constant_iterators::value, __hash_cached::value >typedef std::ptrdiff_t difference_typeusing iterator = __detail::_Node_iterator< value_type, __constant_iterators::value, __hash_cached::value >typedef _Equal key_equaltypedef _Key key_typeusing local_iterator = __detail::_Local_iterator< key_type, value_type, _ExtractKey, _H1, _H2, _Hash, __constant_iterators::value, __hash_cached::value >typedef std::size_t size_typetypedef _Value value_type
seventeen entries. she ate and left no crumbs. π
π Protected Member Functions π
these ones are protected, so likeβ¦ only the inner circle gets access. respect the boundaries babes. π
_Hashtable_base (const _ExtractKey &__ex, const _H1 &__h1, const _H2 &__h2, const _Hash &__hash, const _Equal &__eq)const _Equal & _M_eq () constbool _M_equals (const _Key &__k, __hash_code __c, __node_type *__n) constvoid _M_swap (_Hashtable_base &__x)
π Detailed Description π
template<typename _Key, typename _Value, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _Traits>
struct std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits >
Primary class template _Hashtable_base.
Helper class adding management of _Equal functor to _Hash_code_base type.
Base class templates are:
__detail::_Hash_code_base__detail::_Hashtable_ebo_helper
lowkey this is the glow-up arc:_Hash_code_baseshows up with the hashing, and_Hashtable_baseis like "bestie let me handle the_Equalfunctor for you" and suddenly there's equality checking in the mix. main character energy, fr fr. π
βοΈ Author βοΈ
Generated automatically by Doxygen for libstdc++ from the source code.
and that's the whole page, bestie β this lil doc dropped out of libstdc++, auto-generated by Doxygen straight from the source code, and the footer down at the bottom is a truly cursed libstdstd::__detail:...Hash, _Traits >(3cxx) situation (the name overflowed into the footer too, it's a whole mess, we love it anyway π©·). go forth and hash responsibly. mwah. π
π¦ where this page comes from
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms