1 #ifndef FWCore_Framework_ModuleHolder_h 2 #define FWCore_Framework_ModuleHolder_h 31 class ModuleDescription;
32 class ProductRegistry;
33 class ExceptionToActionTable;
34 class PreallocationConfiguration;
71 m_mod->registerProductsAndCallbacks(
module().
get(), iReg);
ModuleHolderT(std::shared_ptr< T > iModule, Maker const *iMaker)
void registerProductsAndCallbacks(ProductRegistry *iReg) override
roAction_t actions[nactions]
std::shared_ptr< T > module() const
virtual void replaceModuleFor(Worker *) const =0
void replaceModuleFor(Worker *iWorker) const override
virtual void setModuleDescription(ModuleDescription const &iDesc)=0
void preallocate(PreallocationConfiguration const &iPrealloc) override
virtual void preallocate(PreallocationConfiguration const &)=0
void setModuleDescription(ModuleDescription const &iDesc) override
virtual ModuleDescription const & moduleDescription() const =0
virtual void registerProductsAndCallbacks(ProductRegistry *)=0
~ModuleHolderT() override
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *actions) const
std::shared_ptr< T > m_mod
virtual std::unique_ptr< OutputModuleCommunicator > createOutputModuleCommunicator()=0
std::unique_ptr< OutputModuleCommunicator > createOutputModuleCommunicator() override
ModuleDescription const & moduleDescription() const override
ModuleHolder(Maker const *iMaker)
static std::unique_ptr< edm::OutputModuleCommunicator > createIfNeeded(T *iMod)