CMS 3D CMS Logo

Public Member Functions | Protected Types | Protected Attributes | Private Member Functions

LayerHitMapCache::SimpleCache< KeyType, ValueType > Class Template Reference

List of all members.

Public Member Functions

void add (const KeyType &key, const ValueType *value)
 add object to cache. It is caller responsibility to check that object is not yet there.
virtual void clear ()
 emptify cache, delete values associated to Key
const ValueType * get (const KeyType &key)
void reserve (int size)
 SimpleCache (int initSize)
virtual ~SimpleCache ()

Protected Types

typedef std::vector
< KeyValuePair >
::const_iterator 
ConstItr
typedef std::pair< KeyType,
const ValueType * > 
KeyValuePair

Protected Attributes

std::vector< KeyValuePairtheContainer

Private Member Functions

 SimpleCache (const SimpleCache &)

Detailed Description

template<class KeyType, class ValueType>
class LayerHitMapCache::SimpleCache< KeyType, ValueType >

Definition at line 18 of file LayerHitMapCache.h.


Member Typedef Documentation

template<class KeyType , class ValueType >
typedef std::vector< KeyValuePair >::const_iterator LayerHitMapCache::SimpleCache< KeyType, ValueType >::ConstItr [protected]

Definition at line 41 of file LayerHitMapCache.h.

template<class KeyType , class ValueType >
typedef std::pair< KeyType, const ValueType * > LayerHitMapCache::SimpleCache< KeyType, ValueType >::KeyValuePair [protected]

Definition at line 39 of file LayerHitMapCache.h.


Constructor & Destructor Documentation

template<class KeyType , class ValueType >
LayerHitMapCache::SimpleCache< KeyType, ValueType >::SimpleCache ( int  initSize) [inline]

Definition at line 20 of file LayerHitMapCache.h.

References LayerHitMapCache::SimpleCache< KeyType, ValueType >::reserve().

{ reserve(initSize); }
template<class KeyType , class ValueType >
virtual LayerHitMapCache::SimpleCache< KeyType, ValueType >::~SimpleCache ( ) [inline, virtual]
template<class KeyType , class ValueType >
LayerHitMapCache::SimpleCache< KeyType, ValueType >::SimpleCache ( const SimpleCache< KeyType, ValueType > &  ) [inline, private]

Definition at line 43 of file LayerHitMapCache.h.

{ }

Member Function Documentation

template<class KeyType , class ValueType >
void LayerHitMapCache::SimpleCache< KeyType, ValueType >::add ( const KeyType &  key,
const ValueType *  value 
) [inline]

add object to cache. It is caller responsibility to check that object is not yet there.

Definition at line 30 of file LayerHitMapCache.h.

References LayerHitMapCache::SimpleCache< KeyType, ValueType >::theContainer.

Referenced by LayerHitMapCache::operator()().

                                                           {
      theContainer.push_back( std::make_pair(key,value));
    }
template<class KeyType , class ValueType >
virtual void LayerHitMapCache::SimpleCache< KeyType, ValueType >::clear ( void  ) [inline, virtual]

emptify cache, delete values associated to Key

Definition at line 34 of file LayerHitMapCache.h.

References i, and LayerHitMapCache::SimpleCache< KeyType, ValueType >::theContainer.

Referenced by LayerHitMapCache::clear(), and LayerHitMapCache::SimpleCache< KeyType, ValueType >::~SimpleCache().

                         {
      for (ConstItr i=theContainer.begin(); i!= theContainer.end(); i++) { delete i->second; }
      theContainer.clear();
    }
template<class KeyType , class ValueType >
const ValueType* LayerHitMapCache::SimpleCache< KeyType, ValueType >::get ( const KeyType &  key) [inline]

Definition at line 23 of file LayerHitMapCache.h.

References combine::key, and LayerHitMapCache::SimpleCache< KeyType, ValueType >::theContainer.

Referenced by LayerHitMapCache::operator()().

                                               {
      for (ConstItr it = theContainer.begin(); it != theContainer.end(); it++) {
        if ( it->first == key) return it->second;
      }
      return 0;
    }
template<class KeyType , class ValueType >
void LayerHitMapCache::SimpleCache< KeyType, ValueType >::reserve ( int  size) [inline]

Member Data Documentation

template<class KeyType , class ValueType >
std::vector< KeyValuePair > LayerHitMapCache::SimpleCache< KeyType, ValueType >::theContainer [protected]