__gnu_pbds(3)

πŸ“¦
version 16.2.1+r23+gd564253eb6c8 Β· 6 versions
, in arch rolling, centos-stream 10, fedora 43, fedora 44

πŸ’– NAME πŸ’–

__gnu_pbds β€” GNU extensions for policy-based data structures for public use. ✨

Bestie, this is the libstdc++ extension that gives you policy-based data structures β€” and yeah, it's a lot of names, but every single one of them is here, fr fr. This page lives in the Library Functions Manual, section 3. πŸ’…


✨ SYNOPSIS ✨

πŸŽ€ Classes πŸŽ€

okay so here's the full cast list, no skips, no cuts, everybody gets their moment:

  • struct associative_tag β€” Basic associative-container.
  • class basic_branch β€” she's here, no blurb attached 🌸
  • struct basic_branch_tag β€” Basic branch structure.
  • class basic_hash_table β€” present and accounted for πŸ’œ
  • struct basic_hash_tag β€” Basic hash structure.
  • struct basic_invalidation_guarantee β€” no description given, just vibes ✨
  • struct binary_heap_tag β€” Binary-heap (array-based).
  • struct binomial_heap_tag β€” Binomial-heap.
  • class cc_hash_max_collision_check_resize_trigger β€” A resize trigger policy based on collision checks. It keeps the simulated load factor lower than some given load factor.
  • class cc_hash_table β€” iconic, no blurb needed πŸŽ€
  • struct cc_hash_tag β€” Collision-chaining hash.
  • struct container_error β€” Base class for exceptions.
  • struct container_tag β€” Base data structure tag.
  • struct container_traits β€” Container traits.
  • struct container_traits_base β€” Primary template, container traits base.
  • struct container_traits_base< binary_heap_tag > β€” Specialization, binary heap.
  • struct container_traits_base< binomial_heap_tag > β€” Specialization, binomial heap.
  • struct container_traits_base< cc_hash_tag > β€” Specialization, cc hash.
  • struct container_traits_base< gp_hash_tag > β€” Specialization, gp hash.
  • struct container_traits_base< list_update_tag > β€” Specialization, list update.
  • struct container_traits_base< ov_tree_tag > β€” Specialization, ov tree.
  • struct container_traits_base< pairing_heap_tag > β€” Specialization, pairing heap.
  • struct container_traits_base< pat_trie_tag > β€” Specialization, pat trie.
  • struct container_traits_base< rb_tree_tag > β€” Specialization, rb tree.
  • struct container_traits_base< rc_binomial_heap_tag > β€” Specialization, rc binomial heap.
  • struct container_traits_base< splay_tree_tag > β€” Specialization, splay tree.
  • struct container_traits_base< thin_heap_tag > β€” Specialization, thin heap.
  • class direct_mask_range_hashing β€” A mask range-hashing class (uses a bitmask).
  • class direct_mod_range_hashing β€” A mod range-hashing class (uses the modulo function).
  • class gp_hash_table β€” no description, but she ate πŸ’…
  • struct gp_hash_tag β€” General-probing hash.
  • class hash_exponential_size_policy β€” A size policy whose sequence of sizes form an exponential sequence (typically powers of 2.
  • class hash_load_check_resize_trigger β€” A resize trigger policy based on a load check. It keeps the load factor between some load factors load_min and load_max.
  • class hash_prime_size_policy β€” A size policy whose sequence of sizes form a nearly-exponential sequence of primes.
  • class hash_standard_resize_policy β€” A resize policy which delegates operations to size and trigger policies.
  • struct insert_error β€” An entry cannot be inserted into a container object for logical reasons (not, e.g., if memory is unabvailable, in which case the allocator_type's exception will be thrown).
  • struct join_error β€” A join cannot be performed logical reasons (i.e., the ranges of the two container objects being joined overlaps.
  • class linear_probe_fn β€” A probe sequence policy using fixed increments.
  • class list_update β€” yes bestie, she's real πŸ¦‹
  • struct list_update_tag β€” List-update.
  • class lu_counter_policy β€” no blurb, still slaying πŸ™ˆ
  • class lu_move_to_front_policy β€” also no blurb, also slaying
  • struct null_node_update β€” A null node updator, indicating that no node updates are required.
  • struct null_type β€” Represents no type, or absence of type, for template tricks.
  • struct ov_tree_tag β€” Ordered-vector tree.
  • struct pairing_heap_tag β€” Pairing-heap.
  • struct pat_trie_tag β€” PATRICIA trie.
  • struct point_invalidation_guarantee β€” no description provided, periodt πŸ’œ
  • class priority_queue β€” the moment πŸ”₯
  • struct priority_queue_tag β€” Basic priority-queue.
  • class quadratic_probe_fn β€” A probe sequence policy using square increments.
  • struct range_invalidation_guarantee β€” no blurb, just vibes ✨
  • struct rb_tree_tag β€” Red-black tree.
  • struct rc_binomial_heap_tag β€” Redundant-counter binomial-heap.
  • struct resize_error β€” A container cannot be resized.
  • class sample_probe_fn β€” A sample probe policy.
  • class sample_range_hashing β€” A sample range-hashing functor.
  • class sample_ranged_hash_fn β€” A sample ranged-hash functor.
  • class sample_ranged_probe_fn β€” A sample ranged-probe functor.
  • class sample_resize_policy β€” A sample resize policy.
  • class sample_resize_trigger β€” A sample resize trigger policy.
  • class sample_size_policy β€” A sample size policy.
  • class sample_tree_node_update β€” A sample node updator.
  • struct sample_trie_access_traits β€” A sample trie element access traits.
  • class sample_trie_node_update β€” A sample node updator.
  • struct sample_update_policy β€” A sample list-update policy.
  • struct sequence_tag β€” Basic sequence.
  • struct splay_tree_tag β€” Splay tree.
  • struct string_tag β€” Basic string container, inclusive of strings, ropes, etc.
  • struct thin_heap_tag β€” Thin heap.
  • class tree β€” she needs no introduction 🌈
  • class tree_order_statistics_node_update β€” Functor updating ranks of entrees.
  • struct tree_tag β€” Basic tree structure.
  • class trie β€” also needs no introduction ✨
  • class trie_order_statistics_node_update β€” Functor updating ranks of entrees.
  • class trie_prefix_search_node_update β€” A node updator that allows tries to be searched for the range of values that match a certain prefix.
  • struct trie_string_access_traits β€” no description given, still valid πŸ’…
  • struct trie_tag β€” Basic trie structure.
  • struct trivial_iterator_tag β€” A trivial iterator tag. Signifies that the iterators has none of std::iterators's movement abilities.

πŸ¦‹ Typedefs πŸ¦‹

  • typedef void trivial_iterator_difference_type β€” Prohibit moving trivial iterators.

πŸ“ Functions πŸ“

these four are the throwers, bestie, they just throw:

  • void __throw_container_error ()
  • void __throw_insert_error ()
  • void __throw_join_error ()
  • void __throw_resize_error ()

⭐ Variables ⭐

  • template<typename String, typename String::value_type Min_E_Val, typename String::value_type Max_E_Val, bool Reverse, typename _Alloc> detail::integral_constant< int, Reverse > trie_string_access_traits< String, Min_E_Val, Max_E_Val, Reverse, _Alloc >::s_rev_ind

🌸 Detailed Description 🌸

GNU extensions for policy-based data structures for public use.

That's the whole thing. That's the vibe. Public use, policy-based, GNU extensions. πŸ’–


πŸŽ€ Author πŸŽ€

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


okay and that's the whole page bestie, __gnu_pbds(3) from the libstdc++ crew β€” mwah, go build something iconic πŸ’…βœ¨πŸ«Ά

πŸ“¦ 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
  • centos-stream 10: gcc-toolset-15-libstdc++-docs 15.2.1-8.1.el10 Β· 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
  • centos-stream 10: gcc-toolset-16-libstdc++-docs 16.2.1-1.3.el10 Β· 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
  • centos-stream 10: libstdc++-docs 14.4.1-4.el10 Β· 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 43: libstdc++-docs 15.2.1-2.fc43 Β· 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 43: libstdc++-docs 15.3.1-1.fc43 Β· 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.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