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

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

Public Types

typedef _Rb_tree< _Key, _Value,
_KeyOfValue, _Compare, _Alloc > 
typedef const _Rb_tree_node
< _Val > * 
typedef _Rb_tree_node< _Val > * _Link_type
typedef _Base::allocator_type allocator_type
< value_type > 
typedef const value_type * const_pointer
typedef const value_type & const_reference
typedef std::reverse_iterator
< const_iterator > 
typedef ptrdiff_t difference_type
typedef _Rb_tree_iterator
< value_type > 
typedef _Key key_type
typedef value_type * pointer
typedef value_type & reference
typedef std::reverse_iterator
< 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
_Node_allocator & _M_get_Node_allocator ()
const _Node_allocator & _M_get_Node_allocator () const
template<typename _Arg >
_Rb_tree< _Key, _Val,
_KeyOfValue, _Compare, _Alloc >
_M_insert_ (_Const_Base_ptr __x, _Const_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 >
_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 >
_M_insert_equal_ (const_iterator __position, _Arg &&__v)
template<typename _Arg >
_Rb_tree< _Key, _Val,
_KeyOfValue, _Compare, _Alloc >
_M_insert_equal_lower (_Arg &&__v)
template<typename _Arg >
_Rb_tree< _Key, _Val,
_KeyOfValue, _Compare, _Alloc >
_M_insert_lower (_Base_ptr __x, _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 >
_M_insert_unique_ (const_iterator __position, _Arg &&__v)
iterator begin ()
const_iterator begin () const
void clear ()
size_type count (const key_type &__k) const
bool empty () const
iterator end ()
const_iterator end () const
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
_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
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_type size () const
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.

Needs documentation! See

Definition at line 80 of file rb_tree.

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