__GNU_PBDS::GP_HASH_TABLE(3)

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

🌸 NAME 🌸

__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >

okay so real talk, this whole thing lives in the Library Functions Manual (that's the section 3 energy πŸ’…), and bestie, it's a lot. This is part 1 of 2, so buckle up, we're not done yet.


✨ SYNOPSIS ✨

first things first, you gotta pull in the header:

#include <assoc_container.hpp>

and it inherits from:

__gnu_pbds::basic_hash_table< Key, Mapped, Hash_Fn, Eq_Fn,
    Resize_Policy, Store_Hash, Tag, Policy_Tl, _Alloc >

πŸŽ€ Public Types

  • typedef Comb_Probe_Fn comb_probe_fn β€” the combining probe functor, but make it a cute lil nickname ✨
  • typedef gp_hash_tag container_category β€” this container's category tag, and it's giving general probing πŸ¦‹
  • typedef Eq_Fn eq_fn β€” the equality functor's stage name
  • typedef Hash_Fn hash_fn β€” the hashing functor's stage name
  • typedef Probe_Fn probe_fn β€” the probe functor's stage name
  • typedef Resize_Policy resize_policy β€” the resize policy's stage name

🫢 Public Member Functions

  • gp_hash_table () β€” Default constructor. baby's first container 🐣
  • gp_hash_table (const gp_hash_table &other) β€” the copy constructor, no notes
  • gp_hash_table (const hash_fn &h) β€” Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object.
  • gp_hash_table (const hash_fn &h, const eq_fn &e) β€” Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object.
  • gp_hash_table (const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp) β€” Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object.
  • gp_hash_table (const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const probe_fn &p) β€” Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object.
  • gp_hash_table (const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const probe_fn &p, const resize_policy &rp) β€” Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the Resize_Policy object of the container object.
  • template<typename It> gp_hash_table (It first, It last) β€” Constructor taking __iterators to a range of value_types. The value_types between first_it and last_it will be inserted into the container object.
  • template<typename It> gp_hash_table (It first, It last, const hash_fn &h) β€” Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object.
  • template<typename It> gp_hash_table (It first, It last, const hash_fn &h, const eq_fn &e) β€” Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object.
  • template<typename It> gp_hash_table (It first, It last, const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp) β€” Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object.
  • template<typename It> gp_hash_table (It first, It last, const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const probe_fn &p) β€” Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object.
  • template<typename It> gp_hash_table (It first, It last, const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp, const probe_fn &p, const resize_policy &rp) β€” Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the resize_policy object of the container object.
  • gp_hash_table & operator= (const gp_hash_table &other) β€” assignment, you know the drill πŸ’…
  • void swap (gp_hash_table &other) β€” swaps with other, iconic behaviour

πŸ’œ Detailed Description πŸ’œ

okay here's the actual class declaration, no cap:

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
    class __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn,
    Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc >

"A general-probing hash-based associative container."

like. the range on this. general probing, hashing, associating… it's giving main character energy πŸ‘‘

🧚 Template Parameters

  • Key β€” Key type.
  • Mapped β€” Map type.
  • Hash_Fn β€” Hashing functor.
  • Eq_Fn β€” Equal functor.
  • Comb_Probe_Fn β€” Combining probe functor. If Hash_Fn is not null_type, then this is the ranged-probe functor; otherwise, this is the range-hashing functor. XXX See Design::Hash-Based Containers::Hash Policies.
  • Probe_Fn β€” Probe functor.
  • Resize_Policy β€” Resizes hash.
  • Store_Hash β€” Indicates whether the hash value will be stored along with each key. If Hash_Fn is null_type, then the container will not compile if this value is true.
  • _Alloc β€” Allocator type.
🚨 bestie, read that Store_Hash one again. If Hash_Fn is null_type and you set Store_Hash to true, the container will not compile. That's a hard no, not a vibe check, an actual compile error. πŸ™ˆ

Base tag choices are: gp_hash_tag.

Base is basic_hash_table.


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

⭐ gp_hash_table () β€” the default one

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn,
    Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc
    >::gp_hash_table () [inline]

Default constructor. yes queen, zero args, zero thoughts, just vibes 🌈

⭐ gp_hash_table (const hash_fn &h)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn,
    Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc
    >::gp_hash_table (const hash_fn & h) [inline]

Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object. one policy object, one slay ✨

⭐ gp_hash_table (const hash_fn &h, const eq_fn &e)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn,
    Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc
    >::gp_hash_table (const hash_fn & h, const eq_fn & e) [inline]

Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object. two policy objects, hashing and equality, we love a matching set πŸ’–

⭐ gp_hash_table (const hash_fn &h, const eq_fn &e, const comb_probe_fn &cp)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>> __gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn,
    Eq_Fn, Comb_Probe_Fn, Probe_Fn, Resize_Policy, Store_Hash, _Alloc
    >::gp_hash_table (const hash_fn & h, const eq_fn & e, const
    comb_probe_fn & cp) [inline]

Constructor taking some policy objects. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object. and now the combining probe functor pulls up too, the trio is complete πŸ¦‹


✨ to be continued, bestie β€” part 2 is coming and there's more of this constructor saga ✨

πŸ¦‹ more constructor lore (the policy-object era)

πŸ’– gp_hash_table(const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp,
     const probe_fn & p) [inline]

okay so this is the constructor that takes some policy objects, bestie. r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object. four policy besties, all getting lovingly copied into their designated container slots 🫢 it's giving "here hold my customizations" and honestly? iconic.


πŸŽ€ gp_hash_table(const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p, const resize_policy & rp)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp,
     const probe_fn & p, const resize_policy & rp) [inline]

same vibe as the last one except now we brought a fifth friend: this constructor takes some policy objects, and r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the Resize_Policy object of the container object. the full squad is assembled, no notes πŸ’…


🌈 the iterator-range constructors (my beloved)

✨ gp_hash_table(It first, It last)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last) [inline]

this one is a constructor taking __iterators to a range of value_types. the value_types between first_it and last_it will be inserted into the container object. so you hand it a range and it just... eats it. very demure, very mindful, very "fill my container pls" πŸ“


🌸 gp_hash_table(It first, It last, const hash_fn & h)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last, const hash_fn & h) [inline]

constructor taking __iterators to a range of value_types and some policy objects β€” look at her, multitasking πŸ‘‘. the value_types between first_it and last_it will be inserted into the container object, and r_hash_fn will be copied by the hash_fn object of the container object. range + hash policy, a duo fr fr.


πŸ’œ gp_hash_table(It first, It last, const hash_fn & h, const eq_fn & e)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last, const hash_fn & h, const eq_fn & e) [inline]

constructor taking __iterators to a range of value_types and some policy objects. the value_types between first_it and last_it will be inserted into the container object, r_hash_fn will be copied by the hash_fn object of the container object, and r_eq_fn will be copied by the eq_fn object of the container object. two policies deep and still thriving 😭


🧚 gp_hash_table(It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last, const hash_fn & h, const eq_fn & e,
     const comb_probe_fn & cp) [inline]

constructor taking __iterators to a range of value_types and some policy objects. the value_types between first_it and last_it will be inserted into the container object, r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, and r_comb_probe_fn will be copied by the comb_probe_fn object of the container object. three policy objects, one range, zero complaints 🌈


πŸ”₯ gp_hash_table(It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last, const hash_fn & h, const eq_fn & e,
     const comb_probe_fn & cp, const probe_fn & p) [inline]

constructor taking __iterators to a range of value_types and some policy objects. the value_types between first_it and last_it will be inserted into the container object, r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, and r_probe_fn will be copied by the probe_fn object of the container object. four policies, no cap, she ate πŸ”₯


⭐ gp_hash_table(It first, It last, const hash_fn & h, const eq_fn & e, const comb_probe_fn & cp, const probe_fn & p, const resize_policy & rp)

template<typename Key, typename Mapped, typename Hash_Fn = typename
    detail::default_hash_fn<Key>::type, typename Eq_Fn = typename
    detail::default_eq_fn<Key>::type, typename Comb_Probe_Fn =
    detail::default_comb_hash_fn::type, typename Probe_Fn = typename
    detail::default_probe_fn<Comb_Probe_Fn>::type, typename Resize_Policy =
    typename detail::default_resize_policy<Comb_Probe_Fn>::type, bool
    Store_Hash = detail::default_store_hash, typename _Alloc =
    std::allocator<char>>
template<typename It>
__gnu_pbds::gp_hash_table< Key, Mapped, Hash_Fn, Eq_Fn, Comb_Probe_Fn,
    Probe_Fn, Resize_Policy, Store_Hash, _Alloc >::gp_hash_table
    (It first, It last, const hash_fn & h, const eq_fn & e,
     const comb_probe_fn & cp, const probe_fn & p,
     const resize_policy & rp) [inline]

the final boss of range constructors πŸ† constructor taking __iterators to a range of value_types and some policy objects. the value_types between first_it and last_it will be inserted into the container object, r_hash_fn will be copied by the hash_fn object of the container object, r_eq_fn will be copied by the eq_fn object of the container object, r_comb_probe_fn will be copied by the comb_probe_fn object of the container object, r_probe_fn will be copied by the probe_fn object of the container object, and r_resize_policy will be copied by the resize_policy object of the container object. every single policy accounted for, main character energy only πŸ’…βœ¨


πŸ‘‘ Author

Generated automatically by Doxygen for libstdc++ from the source code. (not a human, just a robot doing its little documentation thing, and we respect that fr 🫢)


and that's the whole page, bestie!! source: libstdc++, page __gnu_pbds..., _Alloc >(3). go forth and construct responsibly πŸ’–πŸ¦‹πŸŒΈ
πŸ“¦ 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