CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
edm::eventsetup::ESSourceDataProxyConcurrentBase Class Reference

#include <ESSourceDataProxyConcurrentBase.h>

Inheritance diagram for edm::eventsetup::ESSourceDataProxyConcurrentBase:
edm::eventsetup::ESSourceDataProxyBase edm::eventsetup::DataProxy edm::eventsetup::ESSourceConcurrentDataProxyTemplate< DataT > edmtest::TestESConcurrentSourceTestProxy

Public Member Functions

 ESSourceDataProxyConcurrentBase ()
 
- Public Member Functions inherited from edm::eventsetup::ESSourceDataProxyBase
 ESSourceDataProxyBase ()
 
- Public Member Functions inherited from edm::eventsetup::DataProxy
bool cacheIsValid () const
 
 DataProxy ()
 
 DataProxy (DataProxy const &)=delete
 
void const * get (EventSetupRecordImpl const &, DataKey const &, bool iTransiently, ActivityRegistry const *, EventSetupImpl const *, ESParentContext const &) const
 
void const * getAfterPrefetch (const EventSetupRecordImpl &iRecord, const DataKey &iKey, bool iTransiently) const
 
virtual void initializeForNewIOV ()
 
void invalidate ()
 
DataProxy const & operator= (DataProxy const &)=delete
 
void prefetchAsync (WaitingTaskHolder, EventSetupRecordImpl const &, DataKey const &, EventSetupImpl const *, ServiceToken const &, ESParentContext const &) const
 
ComponentDescription const * providerDescription () const
 returns the description of the DataProxyProvider which owns this Proxy More...
 
void resetIfTransient ()
 
void setProviderDescription (ComponentDescription const *iDesc)
 
virtual ~DataProxy ()
 

Private Member Functions

void prefetchAsyncImpl (edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iES, edm::eventsetup::DataKey const &iKey, edm::EventSetupImpl const *, edm::ServiceToken const &, edm::ESParentContext const &) final
 

Additional Inherited Members

- Protected Member Functions inherited from edm::eventsetup::ESSourceDataProxyBase
void invalidateCache () override
 
void invalidateTransientCache () override
 
virtual void prefetch (edm::eventsetup::DataKey const &iKey, EventSetupRecordDetails)=0
 
template<typename ASYNC , typename GUARD >
void prefetchAsyncImplTemplate (ASYNC iAsync, GUARD iGuardFactory, edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iRecord, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &iContext)
 
- Protected Member Functions inherited from edm::eventsetup::DataProxy
void clearCacheIsValid ()
 
virtual void const * getAfterPrefetchImpl () const =0
 

Detailed Description

Definition at line 32 of file ESSourceDataProxyConcurrentBase.h.

Constructor & Destructor Documentation

◆ ESSourceDataProxyConcurrentBase()

edm::eventsetup::ESSourceDataProxyConcurrentBase::ESSourceDataProxyConcurrentBase ( )
inline

Definition at line 34 of file ESSourceDataProxyConcurrentBase.h.

34 {}

Member Function Documentation

◆ prefetchAsyncImpl()

void ESSourceDataProxyConcurrentBase::prefetchAsyncImpl ( edm::WaitingTaskHolder  ,
edm::eventsetup::EventSetupRecordImpl const &  ,
edm::eventsetup::DataKey const &  iKey,
edm::EventSetupImpl const *  ,
edm::ServiceToken const &  ,
edm::ESParentContext const &   
)
finalprivatevirtual

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 22 of file ESSourceDataProxyConcurrentBase.cc.

References eostools::move(), and edm::eventsetup::ESSourceDataProxyBase::prefetchAsyncImplTemplate().

28  {
29  prefetchAsyncImplTemplate([](auto& iGroup, auto iActivity) { iGroup.run(std::move(iActivity)); },
30  []() { return true; },
31  std::move(iTask),
32  iRecord,
33  iKey,
34  iParent);
35 }
void prefetchAsyncImplTemplate(ASYNC iAsync, GUARD iGuardFactory, edm::WaitingTaskHolder iTask, edm::eventsetup::EventSetupRecordImpl const &iRecord, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &iContext)
def move(src, dest)
Definition: eostools.py:511