46 assert_valid(
const char* __file, 
int __line)
 const 
   48   base_type::assert_valid(
false, __file, __line);
 
   49   if (!base_type::empty())
 
   51       PB_DS_DEBUG_VERIFY(base_type::m_p_max != 0);
 
   52       base_type::assert_max(__file, __line);
 
   55   m_rc.assert_valid(__file, __line);
 
   59       base_type::assert_valid(
true, __file, __line);
 
   60       PB_DS_DEBUG_VERIFY(next_2_pointer(base_type::m_p_root) == 0);
 
   64   node_const_pointer p_nd = next_2_pointer(base_type::m_p_root);
 
   65   typename rc_t::const_iterator it = m_rc.end();
 
   70       PB_DS_DEBUG_VERIFY(*it == p_nd);
 
   71       node_const_pointer p_next = p_nd->m_p_next_sibling;
 
   72       PB_DS_DEBUG_VERIFY(p_next != 0);
 
   73       PB_DS_DEBUG_VERIFY(p_nd->m_metadata == p_next->m_metadata);
 
   74       PB_DS_DEBUG_VERIFY(p_next->m_p_next_sibling == 0 ||
 
   75                p_next->m_metadata < p_next->m_p_next_sibling->m_metadata);
 
   78       p_nd = next_2_pointer(next_after_0_pointer(p_nd));
 
   80   PB_DS_DEBUG_VERIFY(it + 1 == m_rc.begin());
 
   84 typename PB_DS_CLASS_C_DEC::node_const_pointer
 
   86 next_2_pointer(node_const_pointer p_nd)
 
   91   node_pointer p_next = p_nd->m_p_next_sibling;
 
   96   if (p_nd->m_metadata == p_next->m_metadata)
 
   99   return next_2_pointer(p_next);
 
  103 typename PB_DS_CLASS_C_DEC::node_const_pointer
 
  105 next_after_0_pointer(node_const_pointer p_nd)
 
  110   node_pointer p_next = p_nd->m_p_next_sibling;
 
  115   if (p_nd->m_metadata < p_next->m_metadata)
 
  118   return next_after_0_pointer(p_next);