49 template<
typename _Node,
typename _Alloc>
54 typedef typename allocator_type::size_type
size_type;
57 typedef typename _Alloc::template rebind<node>
__rebind_n;
60 typedef typename _Alloc::template rebind<node_pointer>
__rebind_np;
105 #ifdef _GLIBCXX_DEBUG
107 assert_valid(
const char*,
int)
const;
110 #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
120 template<
typename _Node,
typename _Alloc>
125 template<
typename _Node,
typename _Alloc>
130 template<
typename _Node,
typename _Alloc>
148 template<
typename _Node,
typename _Alloc>
155 m_a_entries[m_over_top++] = p_nd;
159 template<
typename _Node,
typename _Alloc>
170 template<
typename _Node,
typename _Alloc>
177 return *(m_a_entries + m_over_top - 1);
180 template<
typename _Node,
typename _Alloc>
186 return m_over_top == 0;
189 template<
typename _Node,
typename _Alloc>
193 {
return m_over_top; }
195 template<
typename _Node,
typename _Alloc>
205 template<
typename _Node,
typename _Alloc>
209 {
return& m_a_entries[0]; }
211 template<
typename _Node,
typename _Alloc>
215 {
return& m_a_entries[m_over_top]; }
217 #ifdef _GLIBCXX_DEBUG
218 template<
typename _Node,
typename _Alloc>
225 #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
226 template<
typename _Node,
typename _Alloc>
231 std::cout <<
"rc" << std::endl;
232 for (size_type i = 0; i < m_over_top; ++i)
233 std::cerr << m_a_entries[i] << std::endl;
234 std::cout << std::endl;
node_pointer top() const
Definition: rc.hpp:173
void pop()
Definition: rc.hpp:162
_Alloc::template rebind< node > __rebind_n
Definition: rc.hpp:57
const const_iterator end() const
Definition: rc.hpp:214
size_type m_over_top
Definition: rc.hpp:117
allocator_type::size_type size_type
Definition: rc.hpp:54
node_pointer entry
Definition: rc.hpp:71
void push(entry)
Definition: rc.hpp:151
entry_const_pointer const_iterator
Definition: rc.hpp:72
const const_iterator begin() const
Definition: rc.hpp:208
void clear()
Definition: rc.hpp:198
#define _GLIBCXX_DEBUG_ASSERT(_Condition)
Definition: debug.h:61
_Alloc::template rebind< node_pointer > __rebind_np
Definition: rc.hpp:60
bool empty() const
Definition: rc.hpp:183
_Node node
Definition: rc.hpp:55
__rebind_np::other::pointer entry_pointer
Definition: rc.hpp:62
_Alloc allocator_type
Definition: rc.hpp:53
void swap(rc &)
Definition: rc.hpp:133
rc()
Definition: rc.hpp:122
const _Tp & max(const _Tp &__a, const _Tp &__b)
Equivalent to std::max.
Definition: base.h:150
__rebind_np::other::const_pointer entry_const_pointer
Definition: rc.hpp:63
#define PB_DS_ASSERT_VALID(X)
Definition: binary_heap_.hpp:324
node_pointer m_a_entries[max_entries]
Definition: rc.hpp:116
#define PB_DS_DEBUG_VERIFY(_Cond)
Definition: binary_heap_.hpp:327
Redundant binary counter.
Definition: rc.hpp:50
size_type size() const
Definition: rc.hpp:192
void swap(exception_ptr &__lhs, exception_ptr &__rhs)
Definition: exception_ptr.h:160
__rebind_n::other::pointer node_pointer
Definition: rc.hpp:58