44 erase_entry(entry_pointer p_e)
46 _GLIBCXX_DEBUG_ASSERT(p_e->m_stat = valid_entry_status);
47 _GLIBCXX_DEBUG_ONLY(debug_base::erase_existing(PB_DS_V2F(p_e->m_value));)
48 p_e->m_value.~value_type();
49 p_e->m_stat = erased_entry_status;
50 _GLIBCXX_DEBUG_ASSERT(m_num_used_e > 0);
51 resize_base::notify_erased(--m_num_used_e);
59 for (size_type pos = 0; pos < m_num_e; ++pos)
61 entry_pointer p_e = &m_entries[pos];
62 if (p_e->m_stat == valid_entry_status)
65 do_resize_if_needed_no_throw();
66 resize_base::notify_cleared();
70 template<
typename Pred>
71 inline typename PB_DS_CLASS_C_DEC::size_type
75 PB_DS_ASSERT_VALID((*
this))
76 size_type num_ersd = 0;
77 for (size_type pos = 0; pos < m_num_e; ++pos)
79 entry_pointer p_e = &m_entries[pos];
80 if (p_e->m_stat == valid_entry_status)
81 if (pred(p_e->m_value))
88 do_resize_if_needed_no_throw();
89 PB_DS_ASSERT_VALID((*
this))
96 erase(key_const_reference r_key)
97 {
return erase_imp(r_key, traits_base::m_store_extra_indicator); }