table of contents
| __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >(3cxx) | __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >(3cxx) |
NAME¶
__gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >
SYNOPSIS¶
#include <rb_tree>
Public Types¶
template<typename _Iter> using __same_value_type
typedef std::_Rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >
_Base
typedef _Base::allocator_type allocator_type
typedef _Node_traits::_Const_iterator 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
typedef _Node_traits::_Iterator iterator
typedef _Key key_type
typedef value_type * pointer
typedef value_type & reference
typedef std::reverse_iterator< iterator > reverse_iterator
typedef size_t size_type
typedef _Val value_type
Public Member Functions¶
rb_tree (const _Compare &__comp=_Compare(), const
allocator_type &__a=allocator_type())
__attribute ((__abi_tag__('cxx11'))) iterator erase(const_iterator
__first
__attribute ((__abi_tag__('cxx11'))) iterator erase(const_iterator
__position)
__attribute ((__abi_tag__('cxx11'))) iterator erase(iterator
__position)
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>> _Base_ptr _M_lower_bound_tr (const _Kt &__k) const
template<typename _Kt, typename _Req = __has_is_transparent_t<_Compare,
_Kt>> _Base_ptr _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)
iterator find (const key_type &__k)
const_iterator find (const key_type &__k) const
allocator_type get_allocator () const noexcept
return iterator (__last._M_node)
_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_iterator rbegin () const noexcept
reverse_iterator rbegin () noexcept
const_reverse_iterator rend () const noexcept
reverse_iterator rend () 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
Public Attributes¶
const_iterator __last
Protected Types¶
typedef _Node_traits::_Base_ptr _Base_ptr
typedef _Node_traits::_Header_t _Header_t
typedef _Node_traits::_Node_ptr _Node_ptr
Protected Member Functions¶
_Base_ptr _M_begin () const noexcept
_Node_ptr _M_begin_node () const noexcept
template<bool _MoveValue, typename _NodeGen> _Node_ptr
_M_clone_node (_Node_ptr __x, _NodeGen &__node_gen)
template<typename... _Args> void _M_construct_node (_Node_ptr
__node, _Args &&... __args)
template<typename... _Args> _Node_ptr _M_create_node (_Args
&&... __args)
void _M_destroy_node (_Node_ptr __p) noexcept
void _M_drop_node (_Node_ptr __p) noexcept
_Base_ptr _M_end () const noexcept
_Node_ptr _M_get_node ()
_Base_ptr _M_leftmost () const noexcept
_Base_ptr & _M_leftmost () noexcept
void _M_put_node (_Node_ptr __p) noexcept
_Base_ptr _M_rightmost () const noexcept
_Base_ptr & _M_rightmost () noexcept
_Base_ptr _M_root () const noexcept
_Base_ptr & _M_root () noexcept
Static Protected Member Functions¶
static const _Key & _S_key (_Base_ptr __x)
static const _Key & _S_key (_Node_ptr __x)
static const _Key & _S_key (const _Node &__node)
static _Base_ptr _S_left (_Base_ptr __x) noexcept
static _Node_ptr _S_left (_Node_ptr __x)
static _Base_ptr _S_right (_Base_ptr __x) noexcept
static _Node_ptr _S_right (_Node_ptr __x) noexcept
Protected Attributes¶
_Rb_tree_impl< _Compare > _M_impl
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
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
| libstdc++ |