46 template<
typename HT_Map>
50 typedef typename HT_Map::entry entry;
51 typedef typename HT_Map::entry_allocator entry_allocator;
52 typedef typename HT_Map::key_type key_type;
54 cond_dealtor(entry_allocator* p_a, entry* p_e)
55 : m_p_a(p_a), m_p_e(p_e), m_key_destruct(false),
56 m_no_action_destructor(false)
64 { m_key_destruct =
true; }
67 set_no_action_destructor()
68 { m_no_action_destructor =
true; }
71 entry_allocator*
const m_p_a;
75 bool m_no_action_destructor;
78 template<
typename HT_Map>
80 cond_dealtor<HT_Map>::
83 if (m_no_action_destructor)
86 m_p_e->m_value.first.~key_type();
87 m_p_a->deallocate(m_p_e, 1);
GNU extensions for policy-based data structures for public use.