41#ifdef PB_DS_CLASS_C_DEC 
   48assert_valid(
const char* __file, 
int __line)
 const 
   50  base_type::assert_valid(
false, __file, __line);
 
   51  if (!base_type::empty())
 
   53      PB_DS_DEBUG_VERIFY(base_type::m_p_max != 0);
 
   54      base_type::assert_max(__file, __line);
 
   57  m_rc.assert_valid(__file, __line);
 
   61      base_type::assert_valid(
true, __file, __line);
 
   62      PB_DS_DEBUG_VERIFY(next_2_pointer(base_type::m_p_root) == 0);
 
   66  node_const_pointer p_nd = next_2_pointer(base_type::m_p_root);
 
   67  typename rc_t::const_iterator it = m_rc.end();
 
   72      PB_DS_DEBUG_VERIFY(*it == p_nd);
 
   73      node_const_pointer p_next = p_nd->m_p_next_sibling;
 
   74      PB_DS_DEBUG_VERIFY(p_next != 0);
 
   75      PB_DS_DEBUG_VERIFY(p_nd->m_metadata == p_next->m_metadata);
 
   76      PB_DS_DEBUG_VERIFY(p_next->m_p_next_sibling == 0 ||
 
   77                       p_next->m_metadata < p_next->m_p_next_sibling->m_metadata);
 
   80      p_nd = next_2_pointer(next_after_0_pointer(p_nd));
 
   82  PB_DS_DEBUG_VERIFY(it + 1 == m_rc.begin());
 
   86typename PB_DS_CLASS_C_DEC::node_const_pointer
 
   88next_2_pointer(node_const_pointer p_nd)
 
   93  node_pointer p_next = p_nd->m_p_next_sibling;
 
   98  if (p_nd->m_metadata == p_next->m_metadata)
 
  101  return next_2_pointer(p_next);
 
  105typename PB_DS_CLASS_C_DEC::node_const_pointer
 
  107next_after_0_pointer(node_const_pointer p_nd)
 
  112  node_pointer p_next = p_nd->m_p_next_sibling;
 
  117  if (p_nd->m_metadata < p_next->m_metadata)
 
  120  return next_after_0_pointer(p_next);