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.