1 #ifndef FWCore_Framework_one_implementors_h 2 #define FWCore_Framework_one_implementors_h 52 class ServiceWeakToken;
73 template <
typename... Args>
105 template <
typename T>
121 template <
typename T>
137 template <
typename T>
151 template <
typename T>
165 template <
typename T>
179 template <
typename T>
193 template <
typename T>
207 template <
typename T>
221 template <
typename T,
typename... CacheTypes>
233 template <std::
size_t ICacheType,
typename DataType,
typename Func>
235 cacheImpl_.template registerProcessBlockCacheFiller<ICacheType, DataType, Func>(
token,
236 std::forward<Func>(
func));
239 template <
typename CacheType,
typename DataType,
typename Func>
241 cacheImpl_.template registerProcessBlockCacheFiller<CacheType, DataType, Func>(
token,
242 std::forward<Func>(
func));
251 cacheImpl_.selectInputProcessBlocks(productRegistry, processBlockHelperBase, *
this);
268 template <
typename T,
typename C>
292 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
295 template <
typename T,
typename C>
321 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
324 template <
typename T>
340 template <
typename T>
348 template <
typename G,
typename F>
355 template <
typename G,
typename F>
357 using ReturnTypeT = decltype(iF(std::declval<G>()));
364 return std::make_unique<edm::Wrapper<ReturnTypeT>>(
370 template <
typename G,
typename P,
typename F>
376 using ReturnTypeT = decltype(iF(std::declval<CacheTypeT>()));
387 auto cache = std::any_cast<CacheTypeT>(iCache);
std::unique_ptr< std::shared_ptr< C >[]> caches_
void produce(Event &ev, EventSetup const &es) final
unsigned int ProductResolverIndex
void doBeginProcessBlockProduce_(ProcessBlock &) final
virtual void beginProcessBlock(ProcessBlock const &)
void doEndRun_(Run const &rp, EventSetup const &c) final
virtual void endRunProduce(edm::Run &, edm::EventSetup const &)=0
virtual void endRun(edm::Run const &, edm::EventSetup const &)=0
bool any(const std::vector< T > &v, const T &what)
~EndProcessBlockProducer() noexcept(false) override
SharedResourcesUser & operator=(SharedResourcesUser const &)=delete
LuminosityBlockWatcher & operator=(LuminosityBlockWatcher const &)=delete
BeginProcessBlockProducer()=default
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
virtual void endProcessBlock(ProcessBlock const &)
~WatchProcessBlock() noexcept(false) override
BeginRunProducer & operator=(BeginRunProducer const &)=delete
void doEndRun_(Run const &rp, EventSetup const &c) final
LuminosityBlockCacheHolder< T, C > & operator=(LuminosityBlockCacheHolder< T, C > const &)=delete
RunWatcher & operator=(RunWatcher const &)=delete
BeginProcessBlockProducer & operator=(BeginProcessBlockProducer const &)=delete
~Accumulator() noexcept(false) override
void preallocRuns(unsigned int iNRuns) final
virtual void accumulate(Event const &ev, EventSetup const &es)=0
edm::SerialTaskQueue queue_
C * runCache(edm::RunIndex iID)
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
void doBeginRunProduce_(Run &rp, EventSetup const &c) final
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
~EndRunProducer() noexcept(false) override
edm::TypeWithDict returnType(const edm::FunctionWithDict &)
void doBeginProcessBlock_(ProcessBlock const &) final
virtual void beginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &)=0
LuminosityBlockCacheHolder()=default
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
virtual void endProcessBlockProduce(edm::ProcessBlock &)=0
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
~LuminosityBlockWatcher() noexcept(false) override
EndLuminosityBlockProducer()=default
~LuminosityBlockCacheHolder() noexcept(false) override
void doBeginRun_(Run const &rp, EventSetup const &c) final
BeginLuminosityBlockProducer()=default
EndProcessBlockProducer & operator=(EndProcessBlockProducer const &)=delete
SharedResourcesAcquirer createAcquirer() override
void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c) final
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
~SharedResourcesUser() override
EndRunProducer & operator=(EndRunProducer const &)=delete
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
~EndLuminosityBlockProducer() noexcept(false) override
void preallocLumis(unsigned int iNLumis) final
virtual void beginRunProduce(edm::Run &, edm::EventSetup const &)=0
BeginRunProducer()=default
edm::SerialTaskQueue * queue()
bool hasAccumulator() const override
edm::SerialTaskQueue * queue()
std::set< std::string > resourceNames_
std::pair< OmniClusterRef, TrackingParticleRef > P
virtual void beginProcessBlockProduce(edm::ProcessBlock &)=0
void doBeginRun_(Run const &rp, EventSetup const &c) final
void doEndLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
C * luminosityBlockCache(edm::LuminosityBlockIndex iID)
~BeginLuminosityBlockProducer() noexcept(false) override
~BeginRunProducer() noexcept(false) override
C const * runCache(edm::RunIndex iID) const
LuminosityBlockWatcher()=default
virtual void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
virtual void beginRun(edm::Run const &, edm::EventSetup const &)=0
void doEndProcessBlock_(ProcessBlock const &) final
RunCacheHolder< T, C > & operator=(RunCacheHolder< T, C > const &)=delete
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Accumulator & operator=(Accumulator const &)=delete
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
void doEndProcessBlockProduce_(ProcessBlock &) final
~RunWatcher() noexcept(false) override
void doBeginLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c) final
virtual void endLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &)=0
std::unique_ptr< std::shared_ptr< C >[]> caches_
virtual void globalEndRun(edm::Run const &, edm::EventSetup const &)=0
WatchProcessBlock & operator=(WatchProcessBlock const &)=delete
~BeginProcessBlockProducer() noexcept(false) override
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
EndProcessBlockProducer()=default
virtual std::shared_ptr< C > globalBeginRun(edm::Run const &, edm::EventSetup const &) const =0
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
WatchProcessBlock()=default
~RunCacheHolder() noexcept(false) override
SharedResourcesUser(Args... args)