47 assert_valid(
bool strictly_binomial,
const char* __file,
int __line)
const
49 base_type::assert_valid(__file, __line);
50 assert_node_consistent(base_type::m_p_root, strictly_binomial,
true,
52 assert_max(__file, __line);
58 assert_max(
const char* __file,
int __line)
const
62 PB_DS_DEBUG_VERIFY(base_type::parent(m_p_max) == 0);
64 PB_DS_DEBUG_VERIFY(!Cmp_Fn::operator()(m_p_max->m_value,
71 assert_node_consistent(node_const_pointer p_nd,
bool strictly_binomial,
72 bool increasing,
const char* __file,
int __line)
const
74 PB_DS_DEBUG_VERIFY(increasing || strictly_binomial);
75 base_type::assert_node_consistent(p_nd,
false, __file, __line);
78 PB_DS_DEBUG_VERIFY(p_nd->m_metadata == base_type::degree(p_nd));
79 PB_DS_DEBUG_VERIFY(base_type::size_under_node(p_nd) ==
80 static_cast<size_type>(1 << p_nd->m_metadata));
81 assert_node_consistent(p_nd->m_p_next_sibling, strictly_binomial, increasing,
83 assert_node_consistent(p_nd->m_p_l_child,
true,
false, __file, __line);
84 if (p_nd->m_p_next_sibling != 0)
88 if (strictly_binomial)
89 PB_DS_DEBUG_VERIFY(p_nd->m_metadata
90 < p_nd->m_p_next_sibling->m_metadata);
92 PB_DS_DEBUG_VERIFY(p_nd->m_metadata
93 <= p_nd->m_p_next_sibling->m_metadata);
96 PB_DS_DEBUG_VERIFY(p_nd->m_metadata
97 > p_nd->m_p_next_sibling->m_metadata);
constexpr const _Tp * end(initializer_list< _Tp > __ils) noexcept
Return an iterator pointing to one past the last element of the initilizer_list.
constexpr const _Tp * begin(initializer_list< _Tp > __ils) noexcept
Return an iterator pointing to the first element of the initilizer_list.