42#ifdef PB_DS_CLASS_C_DEC 
   47erase(key_const_reference r_key)
 
   49  PB_DS_ASSERT_VALID((*
this))
 
   50  return erase_in_pos_imp(r_key, ranged_hash_fn_base::operator()(r_key));
 
   56erase_in_pos_imp(key_const_reference r_key, size_type pos)
 
   58  PB_DS_ASSERT_VALID((*
this))
 
   59  entry_pointer p_e = m_entries[pos];
 
   60  resize_base::notify_erase_search_start();
 
   63      resize_base::notify_erase_search_end();
 
   64      PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
 
   65      PB_DS_ASSERT_VALID((*
this))
 
   69  if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), r_key))
 
   71      resize_base::notify_erase_search_end();
 
   72      PB_DS_CHECK_KEY_EXISTS(r_key)
 
   73      erase_entry_pointer(m_entries[pos]);
 
   74      do_resize_if_needed_no_throw();
 
   75      PB_DS_ASSERT_VALID((*
this))
 
   81      entry_pointer p_next_e = p_e->m_p_next;
 
   84          resize_base::notify_erase_search_end();
 
   85          PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
 
   86          PB_DS_ASSERT_VALID((*
this))
 
   90      if (hash_eq_fn_base::operator()(PB_DS_V2F(p_next_e->m_value), r_key))
 
   92          resize_base::notify_erase_search_end();
 
   93          PB_DS_CHECK_KEY_EXISTS(r_key)
 
   94          erase_entry_pointer(p_e->m_p_next);
 
   95          do_resize_if_needed_no_throw();
 
   96          PB_DS_ASSERT_VALID((*
this))
 
   99      resize_base::notify_erase_search_collision();