__GNU_PBDS::DETAIL::TYPES_TRAITS(3)

πŸ“¦
version 16.2.1+r23+gd564253eb6c8 Β· 6 versions
, in arch rolling, fedora 44

✨ 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 energy
  • typedef __rebind_va::const_reference const_reference β€” const ref, obsessed
  • typedef __rebind_ka::const_pointer key_const_pointer β€” the key's const pointer glow-up
  • typedef __rebind_ka::const_reference key_const_reference β€” the key's const ref
  • typedef __rebind_ka::pointer key_pointer β€” key pointer, but make it cute
  • typedef __rebind_ka::reference key_reference β€” key ref, purr
  • typedef Key key_type β€” the main character key type πŸ‘‘
  • typedef __rebind_ma::const_pointer mapped_const_pointer β€” mapped const pointer
  • typedef __rebind_ma::const_reference mapped_const_reference β€” mapped const ref
  • typedef __rebind_ma::pointer mapped_pointer β€” mapped pointer, yes bestie
  • typedef __rebind_ma::reference mapped_reference β€” mapped ref
  • typedef Mapped mapped_type β€” the mapped type, also main character energy
  • typedef __nothrowcopy::indicator no_throw_indicator β€” the "no throw" lil flag 🚩
  • typedef __rebind_va::pointer pointer β€” pointer, simple, clean, ate
  • typedef __rebind_va::reference reference β€” reference, no notes
  • typedef _Alloc::size_type size_type β€” size type, brought to you by the allocator
  • typedef integral_constant< int, Store_Hash > store_extra β€” it's giving compile-time constant vibes
  • typedef 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 vibing
  • store_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