66 class rc_binomial_heap
67 :
public binomial_heap_base<Value_Type, Cmp_Fn, _Alloc>
70 typedef binomial_heap_base<Value_Type, Cmp_Fn, _Alloc>
72 typedef typename base_type::node_pointer node_pointer;
73 typedef typename base_type::node_const_pointer node_const_pointer;
74 typedef PB_DS_RC_C_DEC rc_t;
77 typedef Value_Type value_type;
78 typedef typename _Alloc::size_type size_type;
79 typedef typename _Alloc::difference_type difference_type;
80 typedef typename base_type::pointer pointer;
81 typedef typename base_type::const_pointer const_pointer;
82 typedef typename base_type::reference reference;
83 typedef typename base_type::const_reference const_reference;
84 typedef typename base_type::point_const_iterator point_const_iterator;
85 typedef typename base_type::point_iterator point_iterator;
86 typedef typename base_type::const_iterator const_iterator;
87 typedef typename base_type::iterator iterator;
88 typedef typename base_type::cmp_fn cmp_fn;
89 typedef typename base_type::allocator_type allocator_type;
93 rc_binomial_heap(
const Cmp_Fn&);
95 rc_binomial_heap(
const PB_DS_CLASS_C_DEC&);
100 swap(PB_DS_CLASS_C_DEC&);
102 inline point_iterator
103 push(const_reference);
106 modify(point_iterator, const_reference);
112 erase(point_iterator);
117 template<
typename Pred>
121 template<
typename Pred>
123 split(Pred, PB_DS_CLASS_C_DEC&);
126 join(PB_DS_CLASS_C_DEC&);
130 assert_valid(
const char*,
int)
const;
133#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
141 link_with_next_sibling(node_pointer);
147 make_binomial_heap();
150 static node_const_pointer
151 next_2_pointer(node_const_pointer);
153 static node_const_pointer
154 next_after_0_pointer(node_const_pointer);