57 #define PB_DS_CLASS_T_DEC \ 58 template<typename Value_Type, typename Cmp_Fn, typename _Alloc> 60 #define PB_DS_CLASS_C_DEC \ 61 pairing_heap<Value_Type, Cmp_Fn, _Alloc> 64 #define PB_DS_P_HEAP_BASE \ 65 left_child_next_sibling_heap<Value_Type, Cmp_Fn, null_type, _Alloc, false> 67 #define PB_DS_P_HEAP_BASE \ 68 left_child_next_sibling_heap<Value_Type, Cmp_Fn, null_type, _Alloc> 76 template<
typename Value_Type,
typename Cmp_Fn,
typename _Alloc>
81 typedef typename base_type::node_pointer node_pointer;
83 typedef typename _Alloc::template rebind<Value_Type>::other __rebind_a;
86 typedef Value_Type value_type;
87 typedef Cmp_Fn cmp_fn;
88 typedef _Alloc allocator_type;
89 typedef typename _Alloc::size_type size_type;
90 typedef typename _Alloc::difference_type difference_type;
92 typedef typename __rebind_a::pointer pointer;
93 typedef typename __rebind_a::const_pointer const_pointer;
94 typedef typename __rebind_a::reference reference;
95 typedef typename __rebind_a::const_reference const_reference;
114 push(const_reference);
119 inline const_reference
128 template<
typename Pred>
132 template<
typename Pred>
141 template<
typename It>
143 copy_from_range(It, It);
145 #ifdef _GLIBCXX_DEBUG 147 assert_valid(
const char*,
int)
const;
153 push_imp(node_pointer);
156 join_node_children(node_pointer);
159 forward_join(node_pointer, node_pointer);
162 back_join(node_pointer, node_pointer);
165 remove_node(node_pointer);
168 #define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \ 169 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, _Bool, \ 170 __FILE__, __LINE__);) 179 #undef PB_DS_ASSERT_NODE_CONSISTENT 180 #undef PB_DS_CLASS_C_DEC 181 #undef PB_DS_CLASS_T_DEC 182 #undef PB_DS_P_HEAP_BASE
GNU extensions for policy-based data structures for public use.
Const point-type iterator.
Const point-type iterator.