__GNU_PBDS::DETAIL::TYPES_TRAITS(3)
β¨ NAME β¨
__gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash > β bestie, it's the Traits for abstract types. that's literally its whole job ok π
this little icon lives in the Library Functions Manual, aka the libstdc++ corner of the universe π¦
πΈ SYNOPSIS πΈ
#include <types_traits.hpp>
okay so first things first: it inherits from __gnu_pbds::detail::maybe_null_type< Key, Mapped, _Alloc, Store_Hash >. family tree moment π
and the way it gets inherited by these absolute legends:
__gnu_pbds::detail::cc_ht_map< Key, Mapped, at0t, at1t, _Alloc, at3t::value, at4t, at2t >__gnu_pbds::detail::gp_ht_map< Key, Mapped, at0t, at1t, _Alloc, at3t::value, at4t, at5t, at2t >__gnu_pbds::detail::cc_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Hash_Fn, Resize_Policy >__gnu_pbds::detail::gp_ht_map< Key, Mapped, Hash_Fn, Eq_Fn, _Alloc, Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy >
not it being the blueprint for all four of them π iconic behavior fr fr
π Public Types π
every single one of these typedefs, no skips, we respect the whole roster:
typedef std::pair< size_type, size_type > comp_hashβ a lil duo of sizes, matching β¨typedef __rebind_va::const_pointer const_pointerβ const pointer energytypedef __rebind_va::const_reference const_referenceβ const ref, obsessedtypedef __rebind_ka::const_pointer key_const_pointerβ the key's const pointer glow-uptypedef __rebind_ka::const_reference key_const_referenceβ the key's const reftypedef __rebind_ka::pointer key_pointerβ key pointer, but make it cutetypedef __rebind_ka::reference key_referenceβ key ref, purrtypedef Key key_typeβ the main character key type πtypedef __rebind_ma::const_pointer mapped_const_pointerβ mapped const pointertypedef __rebind_ma::const_reference mapped_const_referenceβ mapped const reftypedef __rebind_ma::pointer mapped_pointerβ mapped pointer, yes bestietypedef __rebind_ma::reference mapped_referenceβ mapped reftypedef Mapped mapped_typeβ the mapped type, also main character energytypedef __nothrowcopy::indicator no_throw_indicatorβ the "no throw" lil flag π©typedef __rebind_va::pointer pointerβ pointer, simple, clean, atetypedef __rebind_va::reference referenceβ reference, no notestypedef _Alloc::size_type size_typeβ size type, brought to you by the allocatortypedef integral_constant< int, Store_Hash > store_extraβ it's giving compile-time constant vibestypedef stored_data< value_type, size_type, Store_Hash > stored_data_typeβ the stored data type, locked in π₯typedef select_value_type< Key, Mapped >::type value_typeβ the value type, cherry on top π
π Public Attributes π
two of them, and they're both doing the most:
no_throw_indicator m_no_throw_copies_indicatorβ the no-throw-copies indicator, just vibingstore_extra m_store_extra_indicatorβ the store-extra indicator, also just vibing
π¦ Detailed Description π¦
lowkey the whole thing in one glow-up:
template<typename Key, typename Mapped, typename _Alloc, bool Store_Hash>
struct __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >
and the description? it says "Traits for abstract types." periodt. that's it. that's the tea π«Ά
π Author π
Generated automatically by Doxygen for libstdc++ from the source code.
not a human writing this, bestie β it's the Doxygen machine doing its lil dance π€β¨
and that's a wrap on the libstdc++ __gnu_pbds...tore_Hash >(3) page, brought to you by libstdc++ and the Doxygen-generated source-code pipeline π go forth and typedef responsibly, mwah ππ
π¦ where this page comes from
- arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
- fedora 44: libstdc++-docs 16.0.1-0.10.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- fedora 44: libstdc++-docs 16.2.1-2.fc44
- fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms