__GNU_CXX::RB_TREE(3)

πŸ¦‹ __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > πŸ¦‹

okay so this is the __gnu_cxx:...e, _Alloc >(3) page from the Library Functions Manual, and it's giving major SGI extension energy πŸ’…


🌸 NAME 🌸

__gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >


✨ SYNOPSIS ✨

#include <rb_tree>

🌈 Public Types 🌈

  • template<typename _Iter> using __same_value_type β€” a lil alias template, no cap.
  • typedef std::_Rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > _Base β€” the base class, periodt.
  • typedef _Base::allocator_type allocator_type β€” allocator type, we love.
  • typedef _Node_traits::_Const_iterator const_iterator β€” const iterator vibes.
  • typedef const value_type * const_pointer β€” pointer to const value_type, iconic.
  • typedef const value_type & const_reference β€” reference to const value_type.
  • typedef std::reverse_iterator< const_iterator > const_reverse_iterator β€” const reverse iterator, slay.
  • typedef ptrdiff_t difference_type β€” difference type, fr fr.
  • typedef _Node_traits::_Iterator iterator β€” iterator, main character energy.
  • typedef _Key key_type β€” key type, obviously.
  • typedef value_type * pointer β€” pointer, bestie.
  • typedef value_type & reference β€” reference, yes.
  • typedef std::reverse_iterator< iterator > reverse_iterator β€” reverse iterator, we stan.
  • typedef size_t size_type β€” size type, periodt.
  • typedef _Val value_type β€” value type, the moment.

πŸ’– Public Member Functions πŸ’–

  • rb_tree (const _Compare &__comp=_Compare(), const allocator_type &__a=allocator_type()) β€” constructor, bestie.
  • bool __rb_verify () const β€” verify vibes.
  • template<typename _Iterator> void _M_assign_equal (_Iterator, _Iterator) β€” assign equal.
  • template<typename _Iterator> void _M_assign_unique (_Iterator, _Iterator) β€” assign unique.
  • template<typename... _Args> iterator _M_emplace_equal (_Args &&... __args) β€” emplace equal.
  • template<typename... _Args> iterator _M_emplace_here (bool __place_left, _Base_ptr __node, _Args &&... __args) β€” emplace here.
  • template<typename... _Args> iterator _M_emplace_hint_equal (const_iterator __pos, _Args &&... __args) β€” emplace hint equal.
  • template<typename... _Args> iterator _M_emplace_hint_unique (const_iterator __pos, _Args &&... __args) β€” emplace hint unique.
  • template<typename... _Args> pair< iterator, bool > _M_emplace_unique (_Args &&... __args) β€” emplace unique.
  • template<typename _Kt> size_type _M_erase_tr (const _Kt &__x) β€” erase tr.
  • size_type _M_erase_unique (const key_type &__x) β€” erase unique.
  • pair< _Base_ptr, _Base_ptr > _M_get_insert_equal_pos (const key_type &__k) β€” get insert equal pos.
  • pair< _Base_ptr, _Base_ptr > _M_get_insert_hint_equal_pos (const_iterator __pos, const key_type &__k) β€” get insert hint equal pos.
  • pair< _Base_ptr, _Base_ptr > _M_get_insert_hint_unique_pos (const_iterator __pos, const key_type &__k) β€” get insert hint unique pos.
  • template<typename _Kt> pair< _Base_ptr, _Base_ptr > _M_get_insert_hint_unique_pos_tr (const_iterator, const _Kt &__k) β€” get insert hint unique pos tr.
  • pair< _Base_ptr, _Base_ptr > _M_get_insert_unique_pos (const key_type &__k) β€” get insert unique pos.
  • template<typename _Kt> pair< _Base_ptr, _Base_ptr > _M_get_insert_unique_pos_tr (const _Kt &__k) β€” get insert unique pos tr.
  • const _Node_allocator & _M_get_Node_allocator () const noexcept β€” get Node allocator const.
  • _Node_allocator & _M_get_Node_allocator () noexcept β€” get Node allocator.
  • template<typename _Arg> iterator _M_insert_equal (_Arg &&__x) β€” insert equal.
  • template<typename _Arg> iterator _M_insert_equal_ (const_iterator __pos, _Arg &&__x) β€” insert equal with pos.
  • template<typename _Arg, typename _NodeGen> iterator _M_insert_equal_ (const_iterator __pos, _Arg &&__x, _NodeGen &) β€” insert equal with pos and node gen.
  • template<typename _InputIterator> __enable_if_t<!__same_value_type< _InputIterator >::value > _M_insert_range_equal (_InputIterator __first, _InputIterator __last) β€” insert range equal (not same value type).
  • template<typename _InputIterator> __enable_if_t< __same_value_type< _InputIterator >::value > _M_insert_range_equal (_InputIterator __first, _InputIterator __last) β€” insert range equal (same value type).
  • template<typename _InputIterator> __enable_if_t<!__same_value_type< _InputIterator >::value > _M_insert_range_unique (_InputIterator __first, _InputIterator __last) β€” insert range unique (not same value type).
  • template<typename _InputIterator> __enable_if_t< __same_value_type< _InputIterator >::value > _M_insert_range_unique (_InputIterator __first, _InputIterator __last) β€” insert range unique (same value type).
  • template<typename _Arg> pair< typename _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::iterator, bool > _M_insert_unique (_Arg &&__v) β€” insert unique with _Rb_tree iterator.
  • template<typename _Arg> pair< iterator, bool > _M_insert_unique (_Arg &&__x) β€” insert unique.
  • template<typename _Arg> iterator _M_insert_unique_ (const_iterator __pos, _Arg &&__x) β€” insert unique with pos.
  • template<typename _Arg, typename _NodeGen> iterator _M_insert_unique_ (const_iterator __pos, _Arg &&__x, _NodeGen &) β€” insert unique with pos and node gen.
  • const_iterator begin () const noexcept β€” begin const.
  • iterator begin () noexcept β€” begin.
  • void clear () noexcept β€” clear.
  • size_type count (const key_type &__k) const β€” count.
  • bool empty () const noexcept β€” empty.
  • const_iterator end () const noexcept β€” end const.
  • iterator end () noexcept β€” end.
  • pair< iterator, iterator > equal_range (const key_type &__k) β€” equal range.
  • pair< const_iterator, const_iterator > equal_range (const key_type &__k) const β€” equal range const.
  • size_type erase (const key_type &__x) β€” erase by key.
  • iterator erase (const_iterator __first, const_iterator __last) β€” erase range.
  • iterator erase (const_iterator __position) β€” erase const iterator.
  • iterator erase (iterator __position) β€” erase iterator.
  • iterator find (const key_type &__k) β€” find.
  • const_iterator find (const key_type &__k) const β€” find const.
  • allocator_type get_allocator () const noexcept β€” get allocator.
  • _Compare key_comp () const β€” key comp.
  • iterator lower_bound (const key_type &__k) β€” lower bound.
  • const_iterator lower_bound (const key_type &__k) const β€” lower bound const.
  • size_type max_size () const noexcept β€” max size.
  • const_reverse_iterator rbegin () const noexcept β€” rbegin const.
  • reverse_iterator rbegin () noexcept β€” rbegin.
  • const_reverse_iterator rend () const noexcept β€” rend const.
  • reverse_iterator rend () noexcept β€” rend.
  • size_type size () const noexcept β€” size.
  • void swap (_Rb_tree &__t) noexcept(/*conditional */) β€” swap, conditional noexcept.
  • iterator upper_bound (const key_type &__k) β€” upper bound.
  • const_iterator upper_bound (const key_type &__k) const β€” upper bound const.

πŸ”’ Protected Types πŸ”’

  • typedef _Node_traits::_Base_ptr _Base_ptr β€” base ptr.
  • typedef _Node_traits::_Header_t _Header_t β€” header type.
  • typedef _Node_traits::_Node_ptr _Node_ptr β€” node ptr.

πŸ›‘οΈ Protected Member Functions πŸ›‘οΈ

  • _Base_ptr _M_begin () const noexcept β€” begin.
  • _Node_ptr _M_begin_node () const noexcept β€” begin node.
  • template<bool _MoveValue, typename _NodeGen> _Node_ptr _M_clone_node (_Node_ptr __x, _NodeGen &__node_gen) β€” clone node.
  • template<typename... _Args> void _M_construct_node (_Node_ptr __node, _Args &&... __args) β€” construct node.
  • template<typename... _Args> _Node_ptr _M_create_node (_Args &&... __args) β€” create node.
  • void _M_destroy_node (_Node_ptr __p) noexcept β€” destroy node.
  • void _M_drop_node (_Node_ptr __p) noexcept β€” drop node.
  • _Base_ptr _M_end () const noexcept β€” end.
  • _Node_ptr _M_get_node () β€” get node.
  • template<typename _Key1, typename _Key2> bool _M_key_compare (const _Key1 &__k1, const _Key2 &__k2) const β€” key compare.
  • _Base_ptr _M_leftmost () const noexcept β€” leftmost const.
  • _Base_ptr & _M_leftmost () noexcept β€” leftmost.
  • void _M_put_node (_Node_ptr __p) noexcept β€” put node.
  • _Base_ptr _M_rightmost () const noexcept β€” rightmost const.
  • _Base_ptr & _M_rightmost () noexcept β€” rightmost.
  • _Base_ptr _M_root () const noexcept β€” root const.
  • _Base_ptr & _M_root () noexcept β€” root.

✨ Static Protected Member Functions ✨

  • static const _Key & _S_key (_Base_ptr __x) β€” S key base ptr.
  • static const _Key & _S_key (_Node_ptr __x) β€” S key node ptr.
  • static const _Key & _S_key (const _Node &__node) β€” S key node ref.
  • static _Base_ptr _S_left (_Base_ptr __x) noexcept β€” S left base ptr.
  • static _Node_ptr _S_left (_Node_ptr __x) β€” S left node ptr.
  • static _Base_ptr _S_right (_Base_ptr __x) noexcept β€” S right base ptr.
  • static _Node_ptr _S_right (_Node_ptr __x) noexcept β€” S right node ptr.

πŸ“¦ Protected Attributes πŸ“¦

  • _Rb_tree_impl< _Compare > _M_impl β€” the impl, periodt.

πŸ’… DETAILED DESCRIPTION πŸ’…

template<class _Key, class _Value, class _KeyOfValue, class _Compare, class
    _Alloc = std::allocator<_Value>>
    struct __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc
    >"This is an SGI extension.

πŸ“ Todo πŸ“

Needs documentation! See http://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_style.html

πŸ‘‘ AUTHOR πŸ‘‘

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


that's the whole page, bestie! this manual page is from libstdc++ and the footer says libstdc++ __gnu_cxx:...e, _Alloc >(3) β€” no date stamped, so that's the vibe πŸ’…βœ¨

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