__gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > Struct Template Reference
SGI

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

## Public Types

typedef _Rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > | _Base
typedef const _Rb_tree_node < _Val > * | _Const_Link_type
typedef _Rb_tree_node< _Val > * | _Link_type
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
typedef _Rb_tree_iterator < value_type > | 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())
bool | __rb_verify () const
template<typename... _Args>
iterator | _M_emplace_equal (_Args &&...__args)
template<typename... _Args>
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_emplace_equal (_Args &&...__args)
template<typename... _Args>
iterator | _M_emplace_hint_equal (const_iterator __pos, _Args &&...__args)
template<typename... _Args>
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_emplace_hint_equal (const_iterator __pos, _Args &&...__args)
template<typename... _Args>
iterator | _M_emplace_hint_unique (const_iterator __pos, _Args &&...__args)
template<typename... _Args>
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_emplace_hint_unique (const_iterator __pos, _Args &&...__args)
template<typename... _Args>
pair< iterator, bool > | _M_emplace_unique (_Args &&...__args)
template<typename... _Args>
pair< typename _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::iterator, bool > | _M_emplace_unique (_Args &&...__args)
_Node_allocator & | _M_get_Node_allocator () noexcept
const _Node_allocator & | _M_get_Node_allocator () const noexcept
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_ (_Base_ptr __x, _Base_ptr __p, _Arg &&__v)
template<typename _Arg >
iterator | _M_insert_equal (_Arg &&__x)
template<typename _InputIterator >
void | _M_insert_equal (_InputIterator __first, _InputIterator __last)
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_equal (_Arg &&__v)
template<class _II >
void | _M_insert_equal (_II __first, _II __last)
template<typename _Arg >
iterator | _M_insert_equal_ (const_iterator __position, _Arg &&__x)
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_equal_ (const_iterator __position, _Arg &&__v)
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_equal_lower (_Arg &&__v)
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_lower (_Base_ptr __p, _Arg &&__v)
template<typename _Arg >
pair< iterator, bool > | _M_insert_unique (_Arg &&__x)
template<typename _InputIterator >
void | _M_insert_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<class _II >
void | _M_insert_unique (_II __first, _II __last)
template<typename _Arg >
iterator | _M_insert_unique_ (const_iterator __position, _Arg &&__x)
template<typename _Arg >
_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > ::iterator | _M_insert_unique_ (const_iterator __position, _Arg &&__v)
iterator | begin () noexcept
const_iterator | begin () const noexcept
void | clear () noexcept
size_type | count (const key_type &__k) const
bool | empty () const noexcept
iterator | end () noexcept
const_iterator | end () const noexcept
pair< iterator, iterator > | equal_range (const key_type &__k)
pair< const_iterator, const_iterator > | equal_range (const key_type &__k) const
iterator | erase (const_iterator __position)
iterator | erase (iterator __position)
size_type | erase (const key_type &__x)
iterator | erase (const_iterator __first, const_iterator __last)
void | erase (const key_type *__first, const key_type *__last)
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
reverse_iterator | rbegin () noexcept
const_reverse_iterator | rbegin () const noexcept
reverse_iterator | rend () noexcept
const_reverse_iterator | rend () const noexcept
size_type | size () const noexcept
void | swap (_Rb_tree &__t)
iterator | upper_bound (const key_type &__k)
const_iterator | upper_bound (const key_type &__k) const

## Protected Types

typedef _Rb_tree_node_base * | _Base_ptr
typedef const _Rb_tree_node_base * | _Const_Base_ptr

## Protected Member Functions

_Link_type | _M_begin ()
_Const_Link_type | _M_begin () const
_Link_type | _M_clone_node (_Const_Link_type __x)
template<typename... _Args>
_Link_type | _M_create_node (_Args &&...__args)
void | _M_destroy_node (_Link_type __p)
_Link_type | _M_end ()
_Const_Link_type | _M_end () const
_Link_type | _M_get_node ()
_Base_ptr & | _M_leftmost ()
_Const_Base_ptr | _M_leftmost () const
void | _M_put_node (_Link_type __p)
_Base_ptr & | _M_rightmost ()
_Const_Base_ptr | _M_rightmost () const
_Base_ptr & | _M_root ()
_Const_Base_ptr | _M_root () const

## Static Protected Member Functions

static const _Key & | _S_key (_Const_Link_type __x)
static const _Key & | _S_key (_Const_Base_ptr __x)
static _Link_type | _S_left (_Base_ptr __x)
static _Const_Link_type | _S_left (_Const_Base_ptr __x)
static _Base_ptr | _S_maximum (_Base_ptr __x)
static _Const_Base_ptr | _S_maximum (_Const_Base_ptr __x)
static _Base_ptr | _S_minimum (_Base_ptr __x)
static _Const_Base_ptr | _S_minimum (_Const_Base_ptr __x)
static _Link_type | _S_right (_Base_ptr __x)
static _Const_Link_type | _S_right (_Const_Base_ptr __x)
static const_reference | _S_value (_Const_Link_type __x)
static const_reference | _S_value (_Const_Base_ptr __x)

## Protected Attributes

_Rb_tree_impl< _Compare > | _M_impl

## Detailed Description

### template<class _Key, class _Value, class _KeyOfValue, class _Compare, class _Alloc = 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

Definition at line 80 of file rb_tree.

The documentation for this struct was generated from the following file:

- rb_tree