__GNU_PBDS::DETAIL::LEFT_CHILD_NEXT_SIBLING_HEAP_NODE_(3)

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

πŸ’– NAME πŸ’–

__gnu_pbds::detail::left_child_next_sibling_heap_node_ < _Value, _Metadata, _Alloc > β€” bestie, it's a Node. That's it. That's the whole job. It's a node. πŸŽ€

This page lives in the Library Functions Manual corner of your system, and it's literally just describing one lil struct that does one lil job: holding your data together in a left-child, next-sibling heap. Iconic behaviour, honestly.


✨ SYNOPSIS ✨

First things first, you gotta let the compiler know this exists:

#include <node.hpp>

🌸 Public Types 🌸

Okay so these are the types this node is working with β€” no cap, they're all right here:

  • metadata_type β€” a typedef for _Metadata. Yes, that's the same _Metadata from the template. She's consistent. πŸ’…
  • node_pointer β€” a typedef for rebind_traits< _Alloc, this_type >::pointer. This is the pointer type you use to point at other nodes of this same type. It's giving self-referential main character energy. πŸ¦‹
  • size_type β€” a typedef for _Alloc::size_type. It's the size type, borrowed straight from your allocator. Nothing extra, nothing less. ⭐
  • value_type β€” a typedef for _Value. The actual thing you're storing. The payload. The moment. πŸ”₯

πŸ‘‘ Public Attributes πŸ‘‘

And here's where the node keeps all its business:

  • metadata_type m_metadata β€” the metadata slot. Whatever extra info your _Metadata type wants to carry around, this is its home. 🏠
  • node_pointer m_p_l_child β€” pointer to this node's left child. Family tree goes down through here.
  • node_pointer m_p_next_sibling β€” pointer to the next sibling. This is how you hop across the row, bestie. ➑️
  • node_pointer m_p_prev_or_parent β€” pointer to the previous sibling, or the parent. Yeah, it's doing double duty. One pointer, two possible meanings, and it knows exactly which one it is at any given time. She's versatile like that. πŸ’€
  • value_type m_value β€” the actual stored value. The whole reason we're here. The moment. πŸ“

🌈 Detailed Description 🌈

Here's the full declaration, exactly as it is, no edits from me:

template<typename _Value, typename _Metadata, typename _Alloc>
    struct __gnu_pbds::detail::left_child_next_sibling_heap_node_< _Value,
    _Metadata, _Alloc >

And what is it? It's a Node. 🫢

That's genuinely the entire description. It's a node. It nodes. It's out here being a structural building block for the left-child next-sibling heap, holding a value_type, a metadata_type, and three node_pointers so it can find its child, its next sibling, and its prev-or-parent. Lowkey a whole social network in one struct. πŸ’œ

Heads up bestie: this is a detail namespace type, which means it's an implementation detail of __gnu_pbds β€” not the public API you're meant to be poking at directly. It's here in the docs because Doxygen documents everything it can see, but like… don't build your whole app on it, okay? πŸ™ˆ

🧚 Author 🧚

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

No human wrote this by hand, and honestly? The robot ate. πŸ€–βœ¨


That's the whole page, babes β€” this is libstdc++ and this man page is __gnu_pbds...a, _Alloc >(3), and it came straight from the source code with love (and a Doxygen run). Stay structurally sound out there. πŸ’–πŸŽ€πŸ¦‹

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