1 #ifndef Framework_CallbackProxy_h
2 #define Framework_CallbackProxy_h
36 namespace edm::eventsetup {
38 template <
class CallbackT,
class RecordT,
class DataT>
49 iCallback->holdOntoPointer(&
data_);
53 DataT* dummy(
nullptr);
63 assert(iRecord.key() == RecordT::keyForClass());
64 callback_->prefetchAsync(iWaitTask, &iRecord, iEventSetupImpl, iToken, iParent);
typename T::element_type type
void const * getAfterPrefetchImpl() const final
void prefetchAsyncImpl(WaitingTaskHolder iWaitTask, const EventSetupRecordImpl &iRecord, const DataKey &, EventSetupImpl const *iEventSetupImpl, ServiceToken const &iToken, edm::ESParentContext const &iParent) final
static auto getPointer(T const &iPtr) -> decltype(&*iPtr)
edm::propagate_const< std::shared_ptr< CallbackT > > callback_
void invalidateCache() override
const CallbackProxy & operator=(const CallbackProxy &)=delete
CallbackProxy(std::shared_ptr< CallbackT > &iCallback)
typename smart_pointer_traits::type ValueType