libstdc++
|
Public Types | |
typedef _Alloc | allocator_type |
typedef Cmp_Fn | cmp_fn |
typedef base_type::const_iterator | const_iterator |
typedef __rebind_a::const_pointer | const_pointer |
typedef __rebind_a::const_reference | const_reference |
typedef _Alloc::difference_type | difference_type |
typedef base_type::iterator | iterator |
typedef base_type::point_const_iterator | point_const_iterator |
typedef base_type::point_iterator | point_iterator |
typedef __rebind_a::pointer | pointer |
typedef __rebind_a::reference | reference |
typedef _Alloc::size_type | size_type |
typedef Value_Type | value_type |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
void | clear () |
bool | empty () const |
iterator | end () |
const_iterator | end () const |
void | erase (point_iterator) |
template<typename Pred > | |
size_type | erase_if (Pred) |
Cmp_Fn & | get_cmp_fn () |
const Cmp_Fn & | get_cmp_fn () const |
void | join (thin_heap< Value_Type, Cmp_Fn, _Alloc > &) |
size_type | max_size () const |
void | modify (point_iterator, const_reference) |
void | pop () |
point_iterator | push (const_reference) |
size_type | size () const |
template<typename Pred > | |
void | split (Pred, thin_heap< Value_Type, Cmp_Fn, _Alloc > &) |
void | swap (left_child_next_sibling_heap< Value_Type, Cmp_Fn, _Alloc::size_type, _Alloc > &) |
const_reference | top () const |
Protected Types | |
typedef base_type::node | node |
typedef _Alloc::template rebind < left_child_next_sibling_heap_node_ < Value_Type, _Alloc::size_type, _Alloc > >::other | node_allocator |
typedef base_type::node_const_pointer | node_const_pointer |
typedef _Alloc::size_type | node_metadata |
typedef base_type::node_pointer | node_pointer |
typedef std::pair < node_pointer, node_pointer > | node_pointer_pair |
Protected Member Functions | |
thin_heap (const Cmp_Fn &) | |
thin_heap (const thin_heap< Value_Type, Cmp_Fn, _Alloc > &) | |
void | actual_erase_node (node_pointer) |
void | bubble_to_top (node_pointer) |
void | clear_imp (node_pointer) |
template<typename It > | |
void | copy_from_range (It, It) |
node_pointer | get_new_node_for_insert (const_reference) |
node_pointer | prune (Pred) |
void | swap (thin_heap< Value_Type, Cmp_Fn, _Alloc > &) |
void | swap_with_parent (node_pointer, node_pointer) |
void | to_linked_list () |
void | value_swap (left_child_next_sibling_heap &) |
Static Protected Member Functions | |
static node_pointer | parent (node_pointer) |
Protected Attributes | |
node_pointer | m_p_root |
size_type | m_size |
Thin heap.
See Tarjan and Kaplan.
Definition at line 77 of file thin_heap_.hpp.