libstdc++
|
#include <thin_heap_.hpp>
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_traits::allocator_type | 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.
typedef _Alloc __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::allocator_type |
Definition at line 92 of file thin_heap_.hpp.
typedef Cmp_Fn __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::cmp_fn |
Definition at line 91 of file thin_heap_.hpp.
typedef base_type::const_iterator __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::const_iterator |
Definition at line 104 of file thin_heap_.hpp.
typedef __rebind_a::const_pointer __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::const_pointer |
Definition at line 97 of file thin_heap_.hpp.
typedef __rebind_a::const_reference __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::const_reference |
Definition at line 99 of file thin_heap_.hpp.
typedef _Alloc::difference_type __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::difference_type |
Definition at line 94 of file thin_heap_.hpp.
typedef base_type::iterator __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::iterator |
Definition at line 103 of file thin_heap_.hpp.
|
protected |
Definition at line 85 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 101 of file left_child_next_sibling_heap_.hpp.
|
protected |
Definition at line 87 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 105 of file left_child_next_sibling_heap_.hpp.
|
protected |
Definition at line 86 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 106 of file left_child_next_sibling_heap_.hpp.
typedef base_type::point_const_iterator __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::point_const_iterator |
Definition at line 102 of file thin_heap_.hpp.
typedef base_type::point_iterator __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::point_iterator |
Definition at line 101 of file thin_heap_.hpp.
typedef __rebind_a::pointer __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::pointer |
Definition at line 96 of file thin_heap_.hpp.
typedef __rebind_a::reference __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::reference |
Definition at line 98 of file thin_heap_.hpp.
typedef _Alloc::size_type __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::size_type |
Definition at line 93 of file thin_heap_.hpp.
typedef Value_Type __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::value_type |
Definition at line 90 of file thin_heap_.hpp.
|
protected |
Definition at line 56 of file thin_heap_.hpp.
|
protected |
Definition at line 64 of file thin_heap_.hpp.
|
protected |
Definition at line 73 of file thin_heap_.hpp.
|
protected |
Definition at line 99 of file thin_heap_.hpp.
|
inlineprotectedinherited |
Definition at line 205 of file left_child_next_sibling_heap_.hpp.
|
inlineinherited |
Definition at line 166 of file left_child_next_sibling_heap_.hpp.
|
inlineinherited |
Definition at line 169 of file left_child_next_sibling_heap_.hpp.
|
protectedinherited |
Definition at line 202 of file left_child_next_sibling_heap_.hpp.
|
inline |
Definition at line 185 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 208 of file left_child_next_sibling_heap_.hpp.
|
protected |
Definition at line 47 of file thin_heap_.hpp.
|
inlinenodiscardinherited |
Definition at line 151 of file left_child_next_sibling_heap_.hpp.
|
inlineinherited |
Definition at line 172 of file left_child_next_sibling_heap_.hpp.
|
inlineinherited |
Definition at line 175 of file left_child_next_sibling_heap_.hpp.
void __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::erase | ( | point_iterator | it | ) |
Definition at line 194 of file thin_heap_.hpp.
thin_heap< Value_Type, Cmp_Fn, _Alloc >::size_type __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::erase_if | ( | Pred | pred | ) |
Definition at line 209 of file thin_heap_.hpp.
|
inherited |
Definition at line 160 of file left_child_next_sibling_heap_.hpp.
|
inherited |
Definition at line 163 of file left_child_next_sibling_heap_.hpp.
|
inlineprotectedinherited |
Definition at line 187 of file left_child_next_sibling_heap_.hpp.
|
inline |
Definition at line 91 of file thin_heap_.hpp.
|
inlineinherited |
Definition at line 157 of file left_child_next_sibling_heap_.hpp.
void __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::modify | ( | point_iterator | it, |
const_reference | r_new_val ) |
Definition at line 234 of file thin_heap_.hpp.
|
inlinestaticprotectedinherited |
Definition at line 196 of file left_child_next_sibling_heap_.hpp.
void __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::pop | ( | ) |
Definition at line 46 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 215 of file left_child_next_sibling_heap_.hpp.
|
inline |
Definition at line 46 of file thin_heap_.hpp.
|
inlineinherited |
Definition at line 154 of file left_child_next_sibling_heap_.hpp.
void __gnu_pbds::detail::thin_heap< Value_Type, Cmp_Fn, _Alloc >::split | ( | Pred | pred, |
thin_heap< Value_Type, Cmp_Fn, _Alloc > & | other ) |
Definition at line 47 of file thin_heap_.hpp.
|
inherited |
Definition at line 146 of file left_child_next_sibling_heap_.hpp.
|
protected |
Definition at line 89 of file thin_heap_.hpp.
|
inlineprotectedinherited |
Definition at line 199 of file left_child_next_sibling_heap_.hpp.
|
protectedinherited |
Definition at line 211 of file left_child_next_sibling_heap_.hpp.
|
inline |
Definition at line 46 of file thin_heap_.hpp.
|
protectedinherited |
Definition at line 193 of file left_child_next_sibling_heap_.hpp.
|
protectedinherited |
Definition at line 270 of file left_child_next_sibling_heap_.hpp.
|
protectedinherited |
Definition at line 271 of file left_child_next_sibling_heap_.hpp.