1 #ifndef FWCore_Framework_global_outputmoduleAbilityToImplementor_h 2 #define FWCore_Framework_global_outputmoduleAbilityToImplementor_h 31 class ModuleCallingContext;
51 template <
typename T,
typename C>
82 template <
typename T,
typename C>
106 template <
typename T,
typename C>
130 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
133 template <
typename T>
151 template <
typename T>
159 template <
typename C>
164 template <
typename C>
169 template <
typename C>
C const * runCache(edm::RunIndex iID) const
virtual std::shared_ptr< C > globalBeginRun(RunForOutput const &) const =0
edm::global::outputmodule::ExternalWork< edm::global::OutputModuleBase > Type
virtual void globalEndRun(RunForOutput const &) const =0
void preallocLumis(unsigned int iNLumis) final
virtual void globalEndLuminosityBlock(LuminosityBlockForOutput const &) const =0
void doEndStream_(StreamID id) final
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
~RunCacheHolder() noexcept(false) override
ExternalWork(edm::ParameterSet const &iPSet)
void doEndRun_(RunForOutput const &rp) final
constexpr element_type const * get() const
std::vector< C * > caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
C * streamCache(edm::StreamID iID) const
StreamCacheHolder(edm::ParameterSet const &iPSet)
void doAcquire_(StreamID id, EventForOutput const &event, WaitingTaskWithArenaHolder &holder) final
edm::global::outputmodule::LuminosityBlockCacheHolder< edm::global::OutputModuleBase, C > Type
void doBeginStream_(StreamID id) final
StreamCacheHolder< T, C > & operator=(StreamCacheHolder< T, C > const &)=delete
edm::propagate_const< std::shared_ptr< C > > cache_
edm::global::outputmodule::StreamCacheHolder< edm::global::OutputModuleBase, C > Type
~ExternalWork() noexcept(false) override
void doBeginLuminosityBlock_(LuminosityBlockForOutput const &lp) final
void preallocStreams(unsigned int iNStreams) final
virtual void endStream(edm::StreamID) const
RunCacheHolder(edm::ParameterSet const &iPSet)
ExternalWork & operator=(ExternalWork const &)=delete
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
virtual std::unique_ptr< C > beginStream(edm::StreamID) const =0
edm::global::outputmodule::RunCacheHolder< edm::global::OutputModuleBase, C > Type
void doBeginRun_(RunForOutput const &rp) final
void doEndLuminosityBlock_(LuminosityBlockForOutput const &lp) final
~LuminosityBlockCacheHolder() noexcept(false) override
unsigned int value() const
LuminosityBlockCacheHolder< T, C > & operator=(LuminosityBlockCacheHolder< T, C > const &)=delete
bool hasAcquire() const noexcept override
~StreamCacheHolder() override
RunCacheHolder< T, C > & operator=(RunCacheHolder< T, C > const &)=delete
virtual std::shared_ptr< C > globalBeginLuminosityBlock(LuminosityBlockForOutput const &) const =0
virtual void acquire(StreamID, EventForOutput const &, WaitingTaskWithArenaHolder) const =0