1 #ifndef Framework_CallbackProductResolver_h 2 #define Framework_CallbackProductResolver_h 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);
edm::propagate_const< std::shared_ptr< CallbackT > > callback_
typename T::element_type type
~CallbackProductResolver() final
const CallbackProductResolver & operator=(const CallbackProductResolver &)=delete
static auto getPointer(T const &iPtr) -> decltype(&*iPtr)
CallbackProductResolver(std::shared_ptr< CallbackT > &iCallback)
void prefetchAsyncImpl(WaitingTaskHolder iWaitTask, const EventSetupRecordImpl &iRecord, const DataKey &, EventSetupImpl const *iEventSetupImpl, ServiceToken const &iToken, edm::ESParentContext const &iParent) final
typename smart_pointer_traits::type ValueType
void invalidateCache() override
void const * getAfterPrefetchImpl() const final