|
Public Types |
|
typedef Key | key_type |
|
typedef Val | value_type |
|
typedef value_type * | pointer |
|
typedef const value_type * | const_pointer |
|
typedef value_type & | reference |
|
typedef const value_type & | const_reference |
|
typedef Rb_tree_node * | Link_type |
|
typedef size_t | size_type |
|
typedef ptrdiff_t | difference_type |
|
typedef Base::allocator_type | allocator_type |
typedef Rb_tree_iterator<
value_type, reference, pointer > | iterator |
typedef Rb_tree_iterator<
value_type, const_reference,
const_pointer > | const_iterator |
typedef std::reverse_iterator<
const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator<
iterator > | reverse_iterator |
Public Member Functions |
|
allocator_type | get_allocator () const |
|
| Rb_tree () |
|
| Rb_tree (const Compare &comp) |
|
| Rb_tree (const Compare &comp, const allocator_type &a) |
|
| Rb_tree (const Rb_tree< Key, Val, KeyOfValue, Compare, Alloc > &x) |
|
| ~Rb_tree () |
Rb_tree< Key, Val, KeyOfValue,
Compare, Alloc > & | operator= (const Rb_tree< Key, Val, KeyOfValue, Compare, Alloc > &x) |
|
Compare | key_comp () const |
|
iterator | begin () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
reverse_iterator | rbegin () |
|
const_reverse_iterator | rbegin () const |
|
reverse_iterator | rend () |
|
const_reverse_iterator | rend () const |
|
bool | empty () const |
|
size_type | size () const |
|
size_type | max_size () const |
|
void | swap (Rb_tree< Key, Val, KeyOfValue, Compare, Alloc > &__t) |
|
pair< iterator, bool > | insert_unique (const value_type &x) |
|
iterator | insert_equal (const value_type &x) |
|
iterator | insert_unique (iterator position, const value_type &x) |
|
iterator | insert_equal (iterator position, const value_type &x) |
|
template<typename InputIterator> |
| void | insert_unique (InputIterator first, InputIterator last) |
|
template<typename InputIterator> |
| void | insert_equal (InputIterator first, InputIterator last) |
|
void | erase (iterator position) |
|
size_type | erase (const key_type &x) |
|
void | erase (iterator first, iterator last) |
|
void | erase (const key_type *first, const key_type *last) |
|
void | clear () |
|
iterator | find (const key_type &x) |
|
const_iterator | find (const key_type &x) const |
|
size_type | count (const key_type &x) const |
|
iterator | lower_bound (const key_type &x) |
|
const_iterator | lower_bound (const key_type &x) const |
|
iterator | upper_bound (const key_type &x) |
|
const_iterator | upper_bound (const key_type &x) const |
|
pair< iterator, iterator > | equal_range (const key_type &x) |
|
pair< const_iterator, const_iterator > | equal_range (const key_type &x) const |
|
bool | __rb_verify () const |
Protected Types |
|
typedef Rb_tree_node_base * | Base_ptr |
|
typedef Rb_tree_node< Val > | Rb_tree_node |
Protected Member Functions |
|
Link_type | M_create_node (const value_type &x) |
|
Link_type | M_clone_node (Link_type x) |
|
void | destroy_node (Link_type __p) |
|
Link_type & | M_root () const |
|
Link_type & | M_leftmost () const |
|
Link_type & | M_rightmost () const |
|
Rb_tree_node< Type > * | M_get_node () |
|
void | M_put_node (Rb_tree_node< Type > *__p) |
Static Protected Member Functions |
|
static Link_type & | S_left (Link_type x) |
|
static Link_type & | S_right (Link_type x) |
|
static Link_type & | S_parent (Link_type x) |
|
static reference | S_value (Link_type x) |
|
static const Key & | S_key (Link_type x) |
|
static Rb_tree_color & | S_color (Link_type x) |
|
static Link_type & | S_left (Base_ptr x) |
|
static Link_type & | S_right (Base_ptr x) |
|
static Link_type & | S_parent (Base_ptr x) |
|
static reference | S_value (Base_ptr x) |
|
static const Key & | S_key (Base_ptr x) |
|
static Rb_tree_color & | S_color (Base_ptr x) |
|
static Link_type | S_minimum (Link_type x) |
|
static Link_type | S_maximum (Link_type x) |
Protected Attributes |
|
size_type | M_node_count |
|
Compare | M_key_compare |
Alloc_traits< Rb_tree_node<
Type >, Alloc >::allocator_type | M_node_allocator |
|
Rb_tree_node< Type > * | M_header |
Private Types |
typedef Rb_tree_base< Val,
Alloc > | Base |
Private Member Functions |
|
iterator | M_insert (Base_ptr x, Base_ptr y, const value_type &__v) |
|
Link_type | M_copy (Link_type x, Link_type __p) |
|
void | M_erase (Link_type x) |
|
void | M_empty_initialize () |