__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_treeiterator.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