logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

__gnu_cxx::rb_tree.3cxx

Author

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

                                                    libstd__gnu_cxx::rb_tree<_K...lue,_Compare,_Alloc>(3cxx)

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

Member Function Documentation

template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>template<typename_Compare2>voidstd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_merge_equal(_Compatible_tree<_Compare2>&__src)[inline],[noexcept],[inherited]
       Merge from a compatible container into one with equivalent keys.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>template<typename_Compare2>voidstd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_merge_unique(_Compatible_tree<_Compare2>&__src)[inline],[noexcept],[inherited]
       Merge from a compatible container into one with unique keys.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>iteratorstd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_reinsert_node_equal(node_type&&__nh)[inline],[inherited]
       Re-insert an extracted node.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>iteratorstd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_reinsert_node_hint_equal(const_iterator__hint,node_type&&__nh)[inline],[inherited]
       Re-insert an extracted node.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>iteratorstd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_reinsert_node_hint_unique(const_iterator__hint,node_type&&__nh)[inline],[inherited]
       Re-insert an extracted node.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>insert_return_typestd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::_M_reinsert_node_unique(node_type&&__nh)[inline],[inherited]
       Re-insert an extracted node.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>node_typestd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::extract(constkey_type&__k)[inline],[inherited]
       Extract a node.

   template<typename_Key,typename_Val,typename_KeyOfValue,typename_Compare,typename_Alloc=allocator<_Val>>node_typestd::_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::extract(const_iterator__pos)[inline],[inherited]
       Extract a node.

Name

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

Synopsis

       #include <rb_tree>

       Inherits std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >.

   PublicTypes
       template<typename _Iter > using __same_value_type = is_same< value_type, typename iterator_traits< _Iter
           >::value_type >
       typedef std::_Rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > _Base
       template<typename _Compare2 > using _Compatible_tree = _Rb_tree< _Key, _Val, _KeyOfValue, _Compare2,
           _Alloc >
       typedef _Base::allocator_type allocator_type
       typedef _Rb_tree_const_iterator< value_type > const_iterator
       typedef const value_type * const_pointer
       typedef const value_type & const_reference
       typedef std::reverse_iterator< const_iterator > const_reverse_iterator
       typedef ptrdiff_t difference_type
       using insert_return_type = _Node_insert_return< __conditional_t< is_same_v< _Key, _Val >, const_iterator,
           iterator >, node_type >
       typedef _Rb_tree_iterator< value_type > iterator
       typedef _Key key_type
       using node_type = _Node_handle< _Key, _Val, _Node_allocator >
       typedef value_type * pointer
       typedef value_type & reference
       typedef std::reverse_iterator< iterator > reverse_iterator
       typedef size_t size_type
       typedef _Val value_typePublicMemberFunctionsrb_tree (const _Compare &__comp=_Compare(), const allocator_type &__a=allocator_type())
       bool __rb_verify () const
       template<typename _Iterator > void _M_assign_equal (_Iterator, _Iterator)
       template<typename _Iterator > void _M_assign_unique (_Iterator, _Iterator)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> size_type _M_count_tr
           (const _Kt &__k) const
       template<typename... _Args> iterator _M_emplace_equal (_Args &&... __args)
       template<typename... _Args> auto _M_emplace_equal (_Args &&... __args) -> iterator
       template<typename... _Args> iterator _M_emplace_hint_equal (const_iterator __pos, _Args &&... __args)
       template<typename... _Args> auto _M_emplace_hint_equal (const_iterator __pos, _Args &&... __args) ->
           iterator
       template<typename... _Args> iterator _M_emplace_hint_unique (const_iterator __pos, _Args &&... __args)
       template<typename... _Args> auto _M_emplace_hint_unique (const_iterator __pos, _Args &&... __args) ->
           iterator
       template<typename... _Args> pair< iterator, bool > _M_emplace_unique (_Args &&... __args)
       template<typename... _Args> auto _M_emplace_unique (_Args &&... __args) -> pair< iterator, bool >
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> pair< iterator, iterator
           > _M_equal_range_tr (const _Kt &__k)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> pair< const_iterator,
           const_iterator > _M_equal_range_tr (const _Kt &__k) const
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> iterator _M_find_tr
           (const _Kt &__k)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> const_iterator _M_find_tr
           (const _Kt &__k) const
       pair< _Base_ptr, _Base_ptr > _M_get_insert_equal_pos (const key_type &__k)
       pair< _Base_ptr, _Base_ptr > _M_get_insert_hint_equal_pos (const_iterator __pos, const key_type &__k)
       pair< _Base_ptr, _Base_ptr > _M_get_insert_hint_unique_pos (const_iterator __pos, const key_type &__k)
       pair< _Base_ptr, _Base_ptr > _M_get_insert_unique_pos (const key_type &__k)
       const _Node_allocator & _M_get_Node_allocator () const noexcept
       _Node_allocator & _M_get_Node_allocator () noexcept
       template<typename _Arg > iterator _M_insert_equal (_Arg &&__x)
       template<typename _Arg > iterator _M_insert_equal_ (const_iterator __pos, _Arg &&__x)
       template<typename _Arg , typename _NodeGen > iterator _M_insert_equal_ (const_iterator __pos, _Arg &&__x,
           _NodeGen &)
       template<typename _InputIterator > __enable_if_t< __same_value_type< _InputIterator >::value >
           _M_insert_range_equal (_InputIterator __first, _InputIterator __last)
       template<typename _InputIterator > __enable_if_t<!__same_value_type< _InputIterator >::value >
           _M_insert_range_equal (_InputIterator __first, _InputIterator __last)
       template<typename _InputIterator > __enable_if_t< __same_value_type< _InputIterator >::value >
           _M_insert_range_unique (_InputIterator __first, _InputIterator __last)
       template<typename _InputIterator > __enable_if_t<!__same_value_type< _InputIterator >::value >
           _M_insert_range_unique (_InputIterator __first, _InputIterator __last)
       template<typename _Arg > pair< typename _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::iterator,
           bool > _M_insert_unique (_Arg &&__v)
       template<typename _Arg > pair< iterator, bool > _M_insert_unique (_Arg &&__x)
       template<typename _Arg > iterator _M_insert_unique_ (const_iterator __pos, _Arg &&__x)
       template<typename _Arg , typename _NodeGen > iterator _M_insert_unique_ (const_iterator __pos, _Arg
           &&__x, _NodeGen &)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> iterator
           _M_lower_bound_tr (const _Kt &__k)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> const_iterator
           _M_lower_bound_tr (const _Kt &__k) const
       template<typename _Compare2 > void _M_merge_equal (_Compatible_tree< _Compare2 > &__src) noexcept
           Merge from a compatible container into one with equivalent keys.
       template<typename _Compare2 > void _M_merge_unique (_Compatible_tree< _Compare2 > &__src) noexcept
           Merge from a compatible container into one with unique keys.
       iterator _M_reinsert_node_equal (node_type &&__nh)
           Re-insert an extracted node.
       iterator _M_reinsert_node_hint_equal (const_iterator __hint, node_type &&__nh)
           Re-insert an extracted node.
       iterator _M_reinsert_node_hint_unique (const_iterator __hint, node_type &&__nh)
           Re-insert an extracted node.
       insert_return_type_M_reinsert_node_unique (node_type &&__nh)
           Re-insert an extracted node.
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> iterator
           _M_upper_bound_tr (const _Kt &__k)
       template<typename _Kt , typename _Req  = __has_is_transparent_t<_Compare, _Kt>> const_iterator
           _M_upper_bound_tr (const _Kt &__k) const
       const_iterator begin () const noexcept
       iterator begin () noexcept
       void clear () noexcept
       size_type count (const key_type &__k) const
       bool empty () const noexcept
       const_iterator end () const noexcept
       iterator end () noexcept
       pair< iterator, iterator > equal_range (const key_type &__k)
       pair< const_iterator, const_iterator > equal_range (const key_type &__k) const
       size_type erase (const key_type &__x)
       _GLIBCXX_ABI_TAG_CXX11 iterator erase (const_iterator __first, const_iterator __last)
       _GLIBCXX_ABI_TAG_CXX11 iterator erase (const_iterator __position)
       _GLIBCXX_ABI_TAG_CXX11 iterator erase (iterator __position)
       node_typeextract (const key_type &__k)
           Extract a node.
       node_typeextract (const_iterator __pos)
           Extract a node.
       iterator find (const key_type &__k)
       const_iterator find (const key_type &__k) const
       allocator_type get_allocator () const noexcept
       _Compare key_comp () const
       iterator lower_bound (const key_type &__k)
       const_iterator lower_bound (const key_type &__k) const
       size_type max_size () const noexcept
       const_reverse_iteratorrbegin () const noexcept
       reverse_iteratorrbegin () noexcept
       const_reverse_iteratorrend () const noexcept
       reverse_iteratorrend () noexcept
       size_type size () const noexcept
       void swap (_Rb_tree &__t) noexcept(/*conditional */)
       iterator upper_bound (const key_type &__k)
       const_iterator upper_bound (const key_type &__k) const

   ProtectedTypes
       typedef _Rb_tree_node_base * _Base_ptr
       typedef const _Rb_tree_node_base * _Const_Base_ptr
       typedef const _Rb_tree_node< _Val > * _Const_Link_type
       typedef _Rb_tree_node< _Val > * _Link_typeProtectedMemberFunctions
       _Const_Link_type _M_begin () const noexcept
       _Link_type _M_begin () noexcept
       template<bool _MoveValue, typename _NodeGen > _Link_type _M_clone_node (_Link_type __x, _NodeGen
           &__node_gen)
       template<typename... _Args> void _M_construct_node (_Link_type __node, _Args &&... __args)
       template<typename... _Args> _Link_type _M_create_node (_Args &&... __args)
       void _M_destroy_node (_Link_type __p) noexcept
       void _M_drop_node (_Link_type __p) noexcept
       _Const_Base_ptr _M_end () const noexcept
       _Base_ptr _M_end () noexcept
       _Link_type _M_get_node ()
       _Const_Base_ptr _M_leftmost () const noexcept
       _Base_ptr & _M_leftmost () noexcept
       _Link_type _M_mbegin () const noexcept
       void _M_put_node (_Link_type __p) noexcept
       _Const_Base_ptr _M_rightmost () const noexcept
       _Base_ptr & _M_rightmost () noexcept
       _Const_Base_ptr _M_root () const noexcept
       _Base_ptr & _M_root () noexcept

   StaticProtectedMemberFunctions
       static const _Key & _S_key (_Const_Base_ptr __x)
       static const _Key & _S_key (_Const_Link_type __x)
       static _Link_type _S_left (_Base_ptr __x) noexcept
       static _Const_Link_type _S_left (_Const_Base_ptr __x) noexcept
       static _Base_ptr _S_maximum (_Base_ptr __x) noexcept
       static _Const_Base_ptr _S_maximum (_Const_Base_ptr __x) noexcept
       static _Base_ptr _S_minimum (_Base_ptr __x) noexcept
       static _Const_Base_ptr _S_minimum (_Const_Base_ptr __x) noexcept
       static _Link_type _S_right (_Base_ptr __x) noexcept
       static _Const_Link_type _S_right (_Const_Base_ptr __x) noexcept

   ProtectedAttributes
       _Rb_tree_impl< _Compare > _M_impl

See Also