51 #define PB_DS_CLASS_T_DEC \
52 template<typename Value_Type, typename Cmp_Fn, typename _Alloc>
54 #define PB_DS_CLASS_C_DEC \
55 rc_binomial_heap<Value_Type, Cmp_Fn, _Alloc>
57 #define PB_DS_RC_C_DEC \
58 rc<typename binomial_heap_base<Value_Type, Cmp_Fn, _Alloc>::node, _Alloc>
65 template<
typename Value_Type,
typename Cmp_Fn,
typename _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;
88 typedef typename base_type::cmp_fn cmp_fn;
89 typedef typename base_type::allocator_type allocator_type;
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&);
128 #ifdef _GLIBCXX_DEBUG
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();
149 #ifdef _GLIBCXX_DEBUG
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);
167 #undef PB_DS_CLASS_C_DEC
168 #undef PB_DS_CLASS_T_DEC
169 #undef PB_DS_RC_C_DEC
Base class for binomial heap.
GNU extensions for policy-based data structures for public use.
Const point-type iterator.
Const point-type iterator.
Base class for a basic heap.