libstdc++
|
#include <rb_tree>
Public Types | |
template<typename _Iter > | |
using | __same_value_type |
typedef std::_Rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc > | _Base |
template<typename _Compare2 > | |
using | _Compatible_tree |
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 |
using | insert_return_type |
typedef _Rb_tree_iterator< value_type > | iterator |
typedef _Key | key_type |
using | node_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) |
return __last | _M_const_cast () |
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>> | |
iterator | _M_lower_bound_tr (const _Kt &__k) |
template<typename _Kt , typename _Req = __has_is_transparent_t<_Compare, _Kt>> | |
const_iterator | _M_lower_bound_tr (const _Kt &__k) const |
template<typename _Compare2 > | |
void | _M_merge_equal (_Compatible_tree< _Compare2 > &__src) noexcept |
template<typename _Compare2 > | |
void | _M_merge_unique (_Compatible_tree< _Compare2 > &__src) noexcept |
iterator | _M_reinsert_node_equal (node_type &&__nh) |
iterator | _M_reinsert_node_hint_equal (const_iterator __hint, node_type &&__nh) |
iterator | _M_reinsert_node_hint_unique (const_iterator __hint, node_type &&__nh) |
insert_return_type | _M_reinsert_node_unique (node_type &&__nh) |
template<typename _Kt , typename _Req = __has_is_transparent_t<_Compare, _Kt>> | |
iterator | _M_upper_bound_tr (const _Kt &__k) |
template<typename _Kt , typename _Req = __has_is_transparent_t<_Compare, _Kt>> | |
const_iterator | _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) |
node_type | extract (const key_type &__k) |
node_type | extract (const_iterator __pos) |
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 |
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 _Rb_tree_node_base * | _Base_ptr |
typedef const _Rb_tree_node_base * | _Const_Base_ptr |
typedef const _Rb_tree_node< _Val > * | _Const_Link_type |
typedef _Rb_tree_node< _Val > * | _Link_type |
Protected Member Functions | |
_Const_Link_type | _M_begin () const noexcept |
_Link_type | _M_begin () noexcept |
template<bool _MoveValue, typename _NodeGen > | |
_Link_type | _M_clone_node (_Link_type __x, _NodeGen &__node_gen) |
template<typename... _Args> | |
void | _M_construct_node (_Link_type __node, _Args &&... __args) |
template<typename... _Args> | |
_Link_type | _M_create_node (_Args &&... __args) |
void | _M_destroy_node (_Link_type __p) noexcept |
void | _M_drop_node (_Link_type __p) noexcept |
_Const_Base_ptr | _M_end () const noexcept |
_Base_ptr | _M_end () noexcept |
_Link_type | _M_get_node () |
_Const_Base_ptr | _M_leftmost () const noexcept |
_Base_ptr & | _M_leftmost () noexcept |
_Link_type | _M_mbegin () const noexcept |
void | _M_put_node (_Link_type __p) noexcept |
_Const_Base_ptr | _M_rightmost () const noexcept |
_Base_ptr & | _M_rightmost () noexcept |
_Const_Base_ptr | _M_root () const noexcept |
_Base_ptr & | _M_root () noexcept |
Static Protected Member Functions | |
static const _Key & | _S_key (_Const_Base_ptr __x) |
static const _Key & | _S_key (_Const_Link_type __x) |
static _Link_type | _S_left (_Base_ptr __x) noexcept |
static _Const_Link_type | _S_left (_Const_Base_ptr __x) noexcept |
static _Base_ptr | _S_maximum (_Base_ptr __x) noexcept |
static _Const_Base_ptr | _S_maximum (_Const_Base_ptr __x) noexcept |
static _Base_ptr | _S_minimum (_Base_ptr __x) noexcept |
static _Const_Base_ptr | _S_minimum (_Const_Base_ptr __x) noexcept |
static _Link_type | _S_right (_Base_ptr __x) noexcept |
static _Const_Link_type | _S_right (_Const_Base_ptr __x) noexcept |
Protected Attributes | |
_Rb_tree_impl< _Compare > | _M_impl |
This is an SGI extension.
|
inherited |
Definition at line 1091 of file stl_tree.h.
std::_Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >::_Base |
|
protectedinherited |
Definition at line 431 of file stl_tree.h.
|
inherited |
Definition at line 1548 of file stl_tree.h.
|
protectedinherited |
Definition at line 432 of file stl_tree.h.
|
protectedinherited |
Definition at line 434 of file stl_tree.h.
|
protectedinherited |
Definition at line 433 of file stl_tree.h.
_Base::allocator_type __gnu_cxx::rb_tree< _Key, _Value, _KeyOfValue, _Compare, _Alloc >::allocator_type |
|
inherited |
Definition at line 814 of file stl_tree.h.
|
inherited |
Definition at line 537 of file stl_tree.h.
|
inherited |
Definition at line 539 of file stl_tree.h.
|
inherited |
Definition at line 817 of file stl_tree.h.
|
inherited |
Definition at line 541 of file stl_tree.h.
|
inherited |
Definition at line 821 of file stl_tree.h.
|
inherited |
Definition at line 813 of file stl_tree.h.
|
inherited |
Definition at line 534 of file stl_tree.h.
|
inherited |
Definition at line 820 of file stl_tree.h.
|
inherited |
Definition at line 536 of file stl_tree.h.
|
inherited |
Definition at line 538 of file stl_tree.h.
|
inherited |
Definition at line 816 of file stl_tree.h.
|
inherited |
Definition at line 540 of file stl_tree.h.
|
inherited |
Definition at line 535 of file stl_tree.h.
|
inline |
|
inline |
|
inlineinherited |
Definition at line 1186 of file stl_tree.h.
|
inlineinherited |
Definition at line 1198 of file stl_tree.h.
|
inherited |
Definition at line 2565 of file stl_tree.h.
|
inherited |
Definition at line 1761 of file stl_tree.h.
|
inherited |
Definition at line 1748 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 740 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 736 of file stl_tree.h.
|
inlineprotectedinherited |
Definition at line 635 of file stl_tree.h.
|
inlineprotectedinherited |
Definition at line 588 of file stl_tree.h.
|
inlineinherited |
Definition at line 1310 of file stl_tree.h.
|
inlineprotectedinherited |
Definition at line 607 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 616 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 627 of file stl_tree.h.
|
inherited |
Definition at line 2441 of file stl_tree.h.
|
inherited |
Definition at line 2469 of file stl_tree.h.
|
inherited |
Definition at line 2454 of file stl_tree.h.
|
inherited |
Definition at line 2426 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 751 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 747 of file stl_tree.h.
|
inlineinherited |
Definition at line 1373 of file stl_tree.h.
|
inlineinherited |
Definition at line 1383 of file stl_tree.h.
|
inlineinherited |
Definition at line 1290 of file stl_tree.h.
|
inlineinherited |
Definition at line 1299 of file stl_tree.h.
|
inherited |
Definition at line 2136 of file stl_tree.h.
|
inherited |
Definition at line 2292 of file stl_tree.h.
|
inherited |
Definition at line 2206 of file stl_tree.h.
|
inherited |
Definition at line 2104 of file stl_tree.h.
|
inlineprotectedinherited |
Definition at line 558 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 549 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 545 of file stl_tree.h.
|
inherited |
Definition at line 2186 of file stl_tree.h.
|
inlineinherited |
Definition at line 1068 of file stl_tree.h.
|
inherited |
Definition at line 2349 of file stl_tree.h.
|
inlineinherited |
Definition at line 1112 of file stl_tree.h.
|
inlineinherited |
Definition at line 1121 of file stl_tree.h.
|
inlineinherited |
Definition at line 1095 of file stl_tree.h.
|
inlineinherited |
Definition at line 1104 of file stl_tree.h.
|
inherited |
Definition at line 2158 of file stl_tree.h.
|
inlineinherited |
Definition at line 1056 of file stl_tree.h.
|
inherited |
Definition at line 2267 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 720 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 716 of file stl_tree.h.
|
inlineinherited |
Definition at line 1319 of file stl_tree.h.
|
inlineinherited |
Definition at line 1328 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 732 of file stl_tree.h.
|
inlinenoexceptinherited |
Merge from a compatible container into one with equivalent keys.
Definition at line 1578 of file stl_tree.h.
|
inlinenoexceptinherited |
Merge from a compatible container into one with unique keys.
Definition at line 1556 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 562 of file stl_tree.h.
|
inlineinherited |
Re-insert an extracted node.
Definition at line 1466 of file stl_tree.h.
|
inlineinherited |
Re-insert an extracted node.
Definition at line 1508 of file stl_tree.h.
|
inlineinherited |
Re-insert an extracted node.
Definition at line 1486 of file stl_tree.h.
|
inlineinherited |
Re-insert an extracted node.
Definition at line 1437 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 728 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 724 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 712 of file stl_tree.h.
|
inlineprotectednoexceptinherited |
Definition at line 708 of file stl_tree.h.
|
inlineinherited |
Definition at line 1346 of file stl_tree.h.
|
inlineinherited |
Definition at line 1355 of file stl_tree.h.
|
inlinestaticprotectedinherited |
Definition at line 793 of file stl_tree.h.
|
inlinestaticprotectedinherited |
Definition at line 755 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 777 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 781 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 805 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 809 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 797 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 801 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 785 of file stl_tree.h.
|
inlinestaticprotectednoexceptinherited |
Definition at line 789 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 997 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 993 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1248 of file stl_tree.h.
|
inherited |
Definition at line 2550 of file stl_tree.h.
|
inlinenodiscardnoexceptinherited |
Definition at line 1025 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1005 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1001 of file stl_tree.h.
|
inherited |
Definition at line 2009 of file stl_tree.h.
|
inherited |
Definition at line 2041 of file stl_tree.h.
|
inherited |
Definition at line 2512 of file stl_tree.h.
|
inlineinherited |
Extract a node.
Definition at line 1538 of file stl_tree.h.
|
inlineinherited |
Extract a node.
Definition at line 1528 of file stl_tree.h.
|
inherited |
Definition at line 2525 of file stl_tree.h.
|
inherited |
Definition at line 2538 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 553 of file stl_tree.h.
|
inlineinherited |
Definition at line 989 of file stl_tree.h.
|
inlineinherited |
Definition at line 1265 of file stl_tree.h.
|
inlineinherited |
Definition at line 1269 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1033 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1013 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1009 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1021 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1017 of file stl_tree.h.
|
inlinenoexceptinherited |
Definition at line 1029 of file stl_tree.h.
|
noexceptinherited |
Definition at line 2070 of file stl_tree.h.
|
inlineinherited |
Definition at line 1273 of file stl_tree.h.
|
inlineinherited |
Definition at line 1277 of file stl_tree.h.
|
inherited |
Definition at line 1232 of file stl_tree.h.
|
protectedinherited |
Definition at line 704 of file stl_tree.h.