CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions
edm::eventsetup::DataProxyTemplate< RecordT, DataT > Class Template Referenceabstract

#include <DataProxyTemplate.h>

Inheritance diagram for edm::eventsetup::DataProxyTemplate< RecordT, DataT >:
edm::eventsetup::DataProxy DataProxy< RecordT, DataT >

Public Types

typedef RecordT record_type
 
typedef DataT value_type
 

Public Member Functions

 DataProxyTemplate ()
 
virtual const void * getImpl (const EventSetupRecord &iRecord, const DataKey &iKey)
 
- Public Member Functions inherited from edm::eventsetup::DataProxy
bool cacheIsValid () const
 
 DataProxy ()
 
void doGet (EventSetupRecord const &iRecord, DataKey const &iKey, bool iTransiently) const
 
void const * get (EventSetupRecord const &, DataKey const &iKey, bool iTransiently) const
 
void invalidate ()
 
ComponentDescription const * providerDescription () const
 returns the description of the DataProxyProvider which owns this Proxy More...
 
void resetIfTransient ()
 
void setProviderDescription (ComponentDescription const *iDesc)
 
virtual ~DataProxy ()
 

Protected Member Functions

virtual const DataT * make (const RecordT &, const DataKey &)=0
 
- Protected Member Functions inherited from edm::eventsetup::DataProxy
void clearCacheIsValid ()
 
virtual void invalidateCache ()=0
 
virtual void invalidateTransientCache ()
 

Private Member Functions

 DataProxyTemplate (const DataProxyTemplate &)
 
const DataProxyTemplateoperator= (const DataProxyTemplate &)
 

Detailed Description

template<class RecordT, class DataT>
class edm::eventsetup::DataProxyTemplate< RecordT, DataT >

Definition at line 33 of file DataProxyTemplate.h.

Member Typedef Documentation

template<class RecordT , class DataT >
typedef RecordT edm::eventsetup::DataProxyTemplate< RecordT, DataT >::record_type

Definition at line 38 of file DataProxyTemplate.h.

template<class RecordT , class DataT >
typedef DataT edm::eventsetup::DataProxyTemplate< RecordT, DataT >::value_type

Definition at line 37 of file DataProxyTemplate.h.

Constructor & Destructor Documentation

template<class RecordT , class DataT >
edm::eventsetup::DataProxyTemplate< RecordT, DataT >::DataProxyTemplate ( )
inline

Definition at line 40 of file DataProxyTemplate.h.

40 {}
template<class RecordT , class DataT >
edm::eventsetup::DataProxyTemplate< RecordT, DataT >::DataProxyTemplate ( const DataProxyTemplate< RecordT, DataT > &  )
private

Member Function Documentation

template<class RecordT , class DataT >
virtual const void* edm::eventsetup::DataProxyTemplate< RecordT, DataT >::getImpl ( const EventSetupRecord ,
const DataKey iKey 
)
inlinevirtual

This is the function which does the real work of getting the data if it is not already cached. The returning 'void const*' must point to an instance of the class type corresponding to the type designated in iKey. So if iKey refers to a base class interface the pointer must be a pointer to that base class interface and not a pointer to an inheriting class instance.

Implements edm::eventsetup::DataProxy.

Definition at line 48 of file DataProxyTemplate.h.

References edm::eventsetup::EventSetupRecord::key(), and edm::eventsetup::DataProxyTemplate< RecordT, DataT >::make().

49  {
50  assert(iRecord.key() == RecordT::keyForClass());
51  return this->make(static_cast<const RecordT&>(iRecord), iKey);
52  }
virtual const DataT * make(const RecordT &, const DataKey &)=0
template<class RecordT , class DataT >
virtual const DataT* edm::eventsetup::DataProxyTemplate< RecordT, DataT >::make ( const RecordT &  ,
const DataKey  
)
protectedpure virtual
template<class RecordT , class DataT >
const DataProxyTemplate& edm::eventsetup::DataProxyTemplate< RecordT, DataT >::operator= ( const DataProxyTemplate< RecordT, DataT > &  )
private