41#ifdef PB_DS_CLASS_C_DEC 
   44inline typename PB_DS_CLASS_C_DEC::point_const_iterator
 
   46lower_bound(key_const_reference r_key)
 const 
   48  node_pointer p_pot = m_p_head;
 
   49  node_pointer p_nd = m_p_head->m_p_parent;
 
   52    if (Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
 
   53      p_nd = p_nd->m_p_right;
 
   57        p_nd = p_nd->m_p_left;
 
   59  return iterator(p_pot);
 
   63inline typename PB_DS_CLASS_C_DEC::point_iterator
 
   65lower_bound(key_const_reference r_key)
 
   67  node_pointer p_pot = m_p_head;
 
   68  node_pointer p_nd = m_p_head->m_p_parent;
 
   71    if (Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
 
   72      p_nd = p_nd->m_p_right;
 
   76        p_nd = p_nd->m_p_left;
 
   78  return iterator(p_pot);
 
   82inline typename PB_DS_CLASS_C_DEC::point_const_iterator
 
   84upper_bound(key_const_reference r_key)
 const 
   86  node_pointer p_pot = m_p_head;
 
   87  node_pointer p_nd = m_p_head->m_p_parent;
 
   90    if (Cmp_Fn::operator()(r_key, PB_DS_V2F(p_nd->m_value)))
 
   93        p_nd = p_nd->m_p_left;
 
   96      p_nd = p_nd->m_p_right;
 
   97  return const_iterator(p_pot);
 
  101inline typename PB_DS_CLASS_C_DEC::point_iterator
 
  103upper_bound(key_const_reference r_key)
 
  105  node_pointer p_pot = m_p_head;
 
  106  node_pointer p_nd = m_p_head->m_p_parent;
 
  109    if (Cmp_Fn::operator()(r_key, PB_DS_V2F(p_nd->m_value)))
 
  112        p_nd = p_nd->m_p_left;
 
  115      p_nd = p_nd->m_p_right;
 
  116  return point_iterator(p_pot);
 
  120inline typename PB_DS_CLASS_C_DEC::point_iterator
 
  122find(key_const_reference r_key)
 
  124  PB_DS_STRUCT_ONLY_ASSERT_VALID((*
this))
 
  125  node_pointer p_pot = m_p_head;
 
  126  node_pointer p_nd = m_p_head->m_p_parent;
 
  129    if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
 
  132        p_nd = p_nd->m_p_left;
 
  135      p_nd = p_nd->m_p_right;
 
  137  node_pointer ret = p_pot;
 
  138  if (p_pot != m_p_head)
 
  140      const bool __cmp = Cmp_Fn::operator()(r_key, PB_DS_V2F(p_pot->m_value));
 
  144  return point_iterator(ret);
 
  148inline typename PB_DS_CLASS_C_DEC::point_const_iterator
 
  150find(key_const_reference r_key)
 const 
  152  PB_DS_STRUCT_ONLY_ASSERT_VALID((*
this))
 
  153  node_pointer p_pot = m_p_head;
 
  154  node_pointer p_nd = m_p_head->m_p_parent;
 
  157    if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
 
  160        p_nd = p_nd->m_p_left;
 
  163      p_nd = p_nd->m_p_right;
 
  165  node_pointer ret = p_pot;
 
  166  if (p_pot != m_p_head)
 
  168      const bool __cmp = Cmp_Fn::operator()(r_key, PB_DS_V2F(p_pot->m_value));
 
  172  return point_const_iterator(ret);