Base class for binomial heap. More...
#include <binomial_heap_base_.hpp>
Public Types | |
typedef _Alloc | allocator_type |
typedef Cmp_Fn | cmp_fn |
typedef base_type::const_iterator | const_iterator |
typedef __rebind_v::const_pointer | const_pointer |
typedef __rebind_v::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_v::pointer | pointer |
typedef __rebind_v::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 (binomial_heap_base< 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, binomial_heap_base< 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 | |
binomial_heap_base () | |
binomial_heap_base (const Cmp_Fn &) | |
binomial_heap_base (const binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > &) | |
~binomial_heap_base () | |
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) |
void | find_max () |
node_pointer | get_new_node_for_insert (const_reference) |
node_pointer | prune (Pred) |
void | swap (binomial_heap_base< 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 void | make_child_of (node_pointer, node_pointer) |
static node_pointer | parent (node_pointer) |
Protected Attributes | |
node_pointer | m_p_max |
node_pointer | m_p_root |
size_type | m_size |
Private Types | |
typedef _Alloc::template rebind< Value_Type >::other | __rebind_v |
typedef left_child_next_sibling_heap< Value_Type, Cmp_Fn, typename _Alloc::size_type, _Alloc > | base_type |
Private Member Functions | |
node_pointer | fix (node_pointer) const |
void | insert_node (node_pointer) |
node_pointer | join (node_pointer, node_pointer) const |
void | remove_parentless_node (node_pointer) |
Base class for binomial heap.
|
private |
typedef _Alloc __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::allocator_type |
|
private |
typedef Cmp_Fn __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::cmp_fn |
typedef base_type::const_iterator __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::const_iterator |
typedef __rebind_v::const_pointer __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::const_pointer |
typedef __rebind_v::const_reference __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::const_reference |
typedef _Alloc::difference_type __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::difference_type |
typedef base_type::iterator __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::iterator |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
typedef base_type::point_const_iterator __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::point_const_iterator |
typedef base_type::point_iterator __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::point_iterator |
typedef __rebind_v::pointer __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::pointer |
typedef __rebind_v::reference __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::reference |
typedef _Alloc::size_type __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::size_type |
typedef Value_Type __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::value_type |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
|
inline |
|
protectedinherited |
|
protected |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
void __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::erase | ( | point_iterator | ) |
size_type __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::erase_if | ( | Pred | ) |
|
inlineprotected |
|
inlineprivate |
|
inherited |
|
inherited |
|
inlineprotectedinherited |
|
inlineprivate |
void __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::join | ( | binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > & | ) |
|
inlineprivate |
|
inlinestaticprotectedinherited |
|
inlineinherited |
void __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::modify | ( | point_iterator | , |
const_reference | |||
) |
|
inlinestaticprotectedinherited |
void __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::pop | ( | ) |
|
protectedinherited |
|
inline |
|
inlineprivate |
|
inlineinherited |
void __gnu_pbds::detail::binomial_heap_base< Value_Type, Cmp_Fn, _Alloc >::split | ( | Pred | , |
binomial_heap_base< Value_Type, Cmp_Fn, _Alloc > & | |||
) |
|
inherited |
|
protected |
|
inlineprotectedinherited |
|
protectedinherited |
|
inline |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |