44 join_prep(PB_DS_CLASS_C_DEC& other)
 
   46   PB_DS_ASSERT_VALID((*
this))
 
   47   PB_DS_ASSERT_VALID(other)
 
   48   if (other.m_size == 0)
 
   58     Cmp_Fn::operator()(PB_DS_V2F(m_p_head->m_p_right->m_value),
 
   59                PB_DS_V2F(other.m_p_head->m_p_left->m_value));
 
   62     Cmp_Fn::operator()(PB_DS_V2F(other.m_p_head->m_p_right->m_value),
 
   63                PB_DS_V2F(m_p_head->m_p_left->m_value));
 
   65   if (!greater && !lesser)
 
   71   m_size += other.m_size;
 
   72   _GLIBCXX_DEBUG_ONLY(debug_base::join(other);)
 
   79 join_finish(PB_DS_CLASS_C_DEC& other)
 
   88 split_prep(key_const_reference r_key, PB_DS_CLASS_C_DEC& other)
 
   90   PB_DS_ASSERT_VALID((*
this))
 
   91   PB_DS_ASSERT_VALID(other)
 
   96       PB_DS_ASSERT_VALID((*
this))
 
   97       PB_DS_ASSERT_VALID(other)
 
  101   if (Cmp_Fn::operator()(r_key, PB_DS_V2F(m_p_head->m_p_left->m_value)))
 
  104       PB_DS_ASSERT_VALID((*
this))
 
  105       PB_DS_ASSERT_VALID(other)
 
  109   if (!Cmp_Fn::operator()(r_key, PB_DS_V2F(m_p_head->m_p_right->m_value)))
 
  111       PB_DS_ASSERT_VALID((*
this))
 
  112       PB_DS_ASSERT_VALID(other)
 
  119       PB_DS_ASSERT_VALID((*
this))
 
  120       PB_DS_ASSERT_VALID(other)
 
  124   _GLIBCXX_DEBUG_ONLY(debug_base::split(r_key,(Cmp_Fn& )(*this), other);)
 
  131 split_finish(PB_DS_CLASS_C_DEC& other)
 
  133   other.initialize_min_max();
 
  135   m_size -= other.m_size;
 
  136   initialize_min_max();
 
  137   PB_DS_ASSERT_VALID((*
this))
 
  138   PB_DS_ASSERT_VALID(other)
 
  142 typename PB_DS_CLASS_C_DEC::size_type
 
  144 recursive_count(node_pointer p)
 const 
  148   return 1 + recursive_count(p->m_p_left) + recursive_count(p->m_p_right);
 
iterator_traits< _InputIterator >::difference_type distance(_InputIterator __first, _InputIterator __last)
A generalization of pointer arithmetic.