GCC Middle and Back End API Reference
consolidation_map< T > Class Template Reference

#include <analyzer.h>

Inheritance diagram for consolidation_map< T >:
Collaboration diagram for consolidation_map< T >:

Public Types

typedef T::key_t key_t
 
typedef T instance_t
 
typedef hash_map< key_t, instance_t * > inner_map_t
 
typedef inner_map_t::iterator iterator
 

Public Member Functions

 ~consolidation_map ()
 
Tget (const key_t &k) const
 
void put (const key_t &k, T *instance)
 
size_t elements () const
 
iterator begin () const
 
iterator end () const
 

Private Attributes

inner_map_t m_inner_map
 

Detailed Description

template<typename T>
class consolidation_map< T >
A map from T::key_t to T* for use in consolidating instances of T.
Owns all instances of T.
T::key_t should have operator== and be hashable.   

Member Typedef Documentation

◆ inner_map_t

template<typename T>
typedef hash_map<key_t, instance_t *> consolidation_map< T >::inner_map_t

◆ instance_t

template<typename T>
typedef T consolidation_map< T >::instance_t

◆ iterator

template<typename T>
typedef inner_map_t::iterator consolidation_map< T >::iterator

◆ key_t

template<typename T>
typedef T::key_t consolidation_map< T >::key_t

Constructor & Destructor Documentation

◆ ~consolidation_map()

template<typename T>
consolidation_map< T >::~consolidation_map ( )
inline

References m_inner_map.

Member Function Documentation

◆ begin()

template<typename T>
iterator consolidation_map< T >::begin ( ) const
inline

References m_inner_map.

◆ elements()

template<typename T>
size_t consolidation_map< T >::elements ( ) const
inline

References m_inner_map.

◆ end()

template<typename T>
iterator consolidation_map< T >::end ( ) const
inline

References m_inner_map.

◆ get()

template<typename T>
T * consolidation_map< T >::get ( const key_t & k) const
inline

References get(), m_inner_map, NULL, and T.

Referenced by get().

◆ put()

template<typename T>
void consolidation_map< T >::put ( const key_t & k,
T * instance )
inline

References m_inner_map, and T.

Field Documentation

◆ m_inner_map

template<typename T>
inner_map_t consolidation_map< T >::m_inner_map
private

The documentation for this class was generated from the following file: