__GNU_PBDS::BASIC_HASH_TABLE(3)

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

πŸ’– NAME πŸ’–

__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc > β€” bestie, this is the hashed container abstraction from the GNU libstdc++ __gnu_pbds corner of the universe πŸ¦‹. This page lives in the Library Functions Manual.


✨ SYNOPSIS ✨

#include <assoc_container.hpp>

Inherited by __gnu_pbds::cc_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Hash_Fn, Resize_Policy, Store_Hash, _Alloc >, and __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >.

πŸŽ€ Protected Member Functions πŸŽ€

Not me gatekeeping the constructors πŸ’… these are all protected, so they're for the family, not the group chat:

  • basic_hash_table (const basic_hash_table &other)
  • template<typename T0> basic_hash_table (T0 t0)
  • template<typename T0, typename T1> basic_hash_table (T0 t0, T1 t1)
  • template<typename T0, typename T1, typename T2> basic_hash_table (T0 t0, T1 t1, T2 t2)
  • template<typename T0, typename T1, typename T2, typename T3> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3)
  • template<typename T0, typename T1, typename T2, typename T3, typename T4> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4)
  • template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
  • template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
  • template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
  • template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> basic_hash_table (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)

🌸 Detailed Description 🌸

template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn,
    typename Resize_Policy, bool Store_Hash, typename Tag, typename
    Policy_Tl, typename _Alloc>
    class __gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn,
    Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >

"A hashed container abstraction."

That's the whole vibe. It's the template skeleton that the other hashed containers get built on top of β€” it's giving blueprint energy πŸ‘‘.

⭐ Template Parameters ⭐

  • Key β€” Key type.
  • Mapped β€” Map type.
  • Hash_Fn β€” Hashing functor.
  • Eq_Fn β€” Equal functor.
  • Resize_Policy β€” Resizes hash.
  • Store_Hash β€” Indicates whether the hash value will be stored along with each key.
  • Tag β€” Instantiating data structure type, see container_tag.
  • Policy_TL β€” Policy typelist.
  • _Alloc β€” Allocator type.

Base is dispatched at compile time via Tag, from the following choices: cc_hash_tag, gp_hash_tag, and descendants of basic_hash_tag.

Base choices are: detail::cc_ht_map, detail::gp_ht_map.

🫢 lowkey the most important thing here: which base you get is decided at compile time, based on Tag. No runtime surprises, periodt.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for libstdc++ from the source code.


okay that's the whole page bestie, mwah πŸ’‹ This one came from libstdc++, and yeah the whole thing was auto-generated by Doxygen straight from the source code β€” no cap, the author field literally says so πŸ™ˆ. Go build something iconic with it. slay βœ¨πŸŽ€πŸ’…

πŸ“¦ 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