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.