# std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > Class Template Reference

Inheritance diagram for std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >:

List of all members.

## Detailed Description

### template<typename _Key, typename _Val, typename _KeyOfValue, typename _Compare, typename _Alloc = allocator<_Val>>
class std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >

Definition at line 329 of file stl_tree.h.

## Public Types

- typedef const _Rb_tree_node * _Const_Link_type
- typedef _Rb_tree_node * _Link_type
- typedef _Alloc 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

- bool __rb_verify () const
- const _Node_allocator & _M_get_Node_allocator () const
- _Node_allocator & _M_get_Node_allocator ()
- template<typename _InputIterator> void _M_insert_equal (_InputIterator __first, _InputIterator __last)
- const_iterator _M_insert_equal (const_iterator __position, const value_type &__x)
- iterator _M_insert_equal (iterator __position, const value_type &__x)
- iterator _M_insert_equal (const value_type &__x)
- iterator _M_insert_equal_lower (const value_type &__x)
- template<typename _InputIterator> void _M_insert_unique (_InputIterator __first, _InputIterator __last)
- const_iterator _M_insert_unique (const_iterator __position, const value_type &__x)
- iterator _M_insert_unique (iterator __position, const value_type &__x)
- pair< iterator, bool > _M_insert_unique (const value_type &__x)
- _Rb_tree (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x)
- _Rb_tree (const _Compare &__comp, const allocator_type &__a)
- _Rb_tree (const _Compare &__comp)
- _Rb_tree ()
- const_iterator begin () const
- iterator begin ()
- void clear ()
- size_type count (const key_type &__x) const
- bool empty () const
- const_iterator end () const
- iterator end ()
- pair< const_iterator, const_iterator > equal_range (const key_type &__x) const
- pair< iterator, iterator > equal_range (const key_type &__x)
- void erase (const key_type *__first, const key_type *__last)
- void erase (const_iterator __first, const_iterator __last)
- void erase (iterator __first, iterator __last)
- size_type erase (const key_type &__x)
- void erase (const_iterator __position)
- void erase (iterator __position)
- const_iterator find (const key_type &__x) const
- iterator find (const key_type &__x)
- allocator_type get_allocator () const
- _Compare key_comp () const
- const_iterator lower_bound (const key_type &__x) const
- iterator lower_bound (const key_type &__x)
- size_type max_size () const
- _Rb_tree< _Key, _Val, _KeyOfValue,
  _Compare, _Alloc > & operator= (const _Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__x)
- const_reverse_iterator rbegin () const
- reverse_iterator rbegin ()
- const_reverse_iterator rend () const
- reverse_iterator rend ()
- size_type size () const
- void swap (_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc > &__t)
- const_iterator upper_bound (const key_type &__x) const
- iterator upper_bound (const key_type &__x)
- ~_Rb_tree ()

## Protected Types

- typedef _Rb_tree_node_base * _Base_ptr
- typedef const _Rb_tree_node_base * _Const_Base_ptr
- typedef _Rb_tree_node< _Val > _Rb_tree_node

## Protected Member Functions

- _Const_Link_type _M_begin () const
- _Link_type _M_begin ()
- _Link_type _M_clone_node (_Const_Link_type __x)
- _Link_type _M_create_node (const value_type &__x)
- void _M_destroy_node (_Link_type __p)
- _Const_Link_type _M_end () const
- _Link_type _M_end ()
- _Rb_tree_node * _M_get_node ()
- _Const_Base_ptr _M_leftmost () const
- _Base_ptr & _M_leftmost ()
- void _M_put_node (_Rb_tree_node *__p)
- _Const_Base_ptr _M_rightmost () const
- _Base_ptr & _M_rightmost ()
- _Const_Base_ptr _M_root () const
- _Base_ptr & _M_root ()

## Static Protected Member Functions

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

## Protected Attributes

- _Rb_tree_impl< _Compare > _M_impl

## Classes

- struct _Rb_tree_impl
- struct _Rb_tree_impl< _Key_compare, true >

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

- stl_tree.h