41#ifdef PB_DS_CLASS_C_DEC
46erase_entry(entry_pointer p_e)
48 _GLIBCXX_DEBUG_ASSERT(p_e->m_stat = valid_entry_status);
49 _GLIBCXX_DEBUG_ONLY(debug_base::erase_existing(PB_DS_V2F(p_e->m_value));)
50 p_e->m_value.~value_type();
51 p_e->m_stat = erased_entry_status;
52 _GLIBCXX_DEBUG_ASSERT(m_num_used_e > 0);
53 resize_base::notify_erased(--m_num_used_e);
61 for (size_type pos = 0; pos < m_num_e; ++pos)
63 entry_pointer p_e = &m_entries[pos];
64 if (p_e->m_stat == valid_entry_status)
67 do_resize_if_needed_no_throw();
68 resize_base::notify_cleared();
72template<
typename Pred>
73inline typename PB_DS_CLASS_C_DEC::size_type
77 PB_DS_ASSERT_VALID((*
this))
78 size_type num_ersd = 0;
79 for (size_type pos = 0; pos < m_num_e; ++pos)
81 entry_pointer p_e = &m_entries[pos];
82 if (p_e->m_stat == valid_entry_status)
83 if (pred(p_e->m_value))
90 do_resize_if_needed_no_throw();
91 PB_DS_ASSERT_VALID((*
this))
98erase(key_const_reference r_key)
99{
return erase_imp(r_key, traits_base::m_store_extra_indicator); }