41 #ifdef PB_DS_CLASS_C_DEC
44 inline typename PB_DS_CLASS_C_DEC::entry_pointer
46 find_imp(key_const_reference r_key)
const
50 if (s_eq_fn(r_key, PB_DS_V2F(m_p_l->m_value)))
52 apply_update(m_p_l, s_metadata_type_indicator);
53 PB_DS_CHECK_KEY_EXISTS(r_key)
57 entry_pointer p_l = m_p_l;
58 while (p_l->m_p_next != 0)
60 entry_pointer p_next = p_l->m_p_next;
61 if (s_eq_fn(r_key, PB_DS_V2F(p_next->m_value)))
63 if (apply_update(p_next, s_metadata_type_indicator))
65 p_l->m_p_next = p_next->m_p_next;
66 p_next->m_p_next = m_p_l;
76 PB_DS_CHECK_KEY_DOES_NOT_EXIST(r_key)
81 template<
typename Metadata>
84 apply_update(entry_pointer p_l, type_to_type<Metadata>)
85 {
return s_update_policy(p_l->m_update_metadata); }
90 apply_update(entry_pointer, type_to_type<null_type>)
91 {
return s_update_policy(s_null_type); }