1 #ifndef FWCore_Framework_one_outputmoduleAbilityToImplementor_h
2 #define FWCore_Framework_one_outputmoduleAbilityToImplementor_h
35 class ModuleCallingContext;
38 namespace outputmodule {
109 template <
typename C>
112 template <
typename...
A>
119 void preallocLumis(
unsigned int iNLumis)
final { caches_.reset(
new std::shared_ptr<C>[iNLumis]); }
126 caches_[lp.index()] = globalBeginLuminosityBlock(lp);
129 globalEndLuminosityBlock(lp);
130 caches_[lp.index()].reset();
135 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
138 template <
typename T>
161 template <
typename C>
166 template <
typename C>
edm::one::outputmodule::RunWatcher Type
virtual void endRun(edm::RunForOutput const &)=0
RunCacheHolder(edm::ParameterSet const &iPSet)
C const * runCache(edm::RunIndex iID) const
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
void doEndRun_(RunForOutput const &r) final
RunWatcher(edm::ParameterSet const &iPSet)
virtual void beginRun(edm::RunForOutput const &)=0
void doBeginRun_(RunForOutput const &r) final
~RunWatcher() noexcept(false) override
edm::one::impl::SharedResourcesUser< edm::one::OutputModuleBase > Type
void doEndLuminosityBlock_(edm::LuminosityBlockForOutput const &lp) final
virtual void endLuminosityBlock(edm::LuminosityBlockForOutput const &)=0
~LuminosityBlockWatcher() noexcept(false) override
edm::one::outputmodule::RunCacheHolder< C > Type
std::unique_ptr< std::shared_ptr< C >[]> caches_
void doEndLuminosityBlock_(LuminosityBlockForOutput const &lb) final
C * luminosityBlockCache(edm::LuminosityBlockIndex iID)
void doBeginLuminosityBlock_(edm::LuminosityBlockForOutput const &lp) final
void doBeginRun_(edm::RunForOutput const &rp) final
edm::propagate_const< std::shared_ptr< C > > cache_
void doEndRun_(edm::RunForOutput const &rp) final
~LuminosityBlockCacheHolder() noexcept(false) override
edm::one::outputmodule::LuminosityBlockWatcher Type
LuminosityBlockWatcher & operator=(LuminosityBlockWatcher const &)=delete
~RunCacheHolder() noexcept(false) override
C * runCache(edm::RunIndex iID)
void preallocLumis(unsigned int iNLumis) final
RunWatcher & operator=(RunWatcher const &)=delete
LuminosityBlockWatcher(edm::ParameterSet const &iPSet)
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
edm::one::outputmodule::LuminosityBlockCacheHolder< C > Type
void doBeginLuminosityBlock_(LuminosityBlockForOutput const &lb) final
virtual void beginLuminosityBlock(edm::LuminosityBlockForOutput const &)=0