CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::maker::ModuleHolderT< T > Class Template Reference

#include <EDAnalyzer.h>

Inheritance diagram for edm::maker::ModuleHolderT< T >:
edm::maker::ModuleHolder

Public Member Functions

std::unique_ptr< OutputModuleCommunicatorcreateOutputModuleCommunicator () override
 
std::shared_ptr< Tmodule () const
 
ModuleDescription const & moduleDescription () const override
 
 ModuleHolderT (std::shared_ptr< T > iModule, Maker const *iMaker)
 
void preallocate (PreallocationConfiguration const &iPrealloc) override
 
void registerProductsAndCallbacks (ProductRegistry *iReg) override
 
void replaceModuleFor (Worker *iWorker) const override
 
void setModuleDescription (ModuleDescription const &iDesc) override
 
 ~ModuleHolderT () override
 
- Public Member Functions inherited from edm::maker::ModuleHolder
std::unique_ptr< WorkermakeWorker (ExceptionToActionTable const *actions) const
 
 ModuleHolder (Maker const *iMaker)
 
virtual ~ModuleHolder ()
 

Private Attributes

std::shared_ptr< Tm_mod
 

Additional Inherited Members

- Protected Attributes inherited from edm::maker::ModuleHolder
Maker const * m_maker
 

Detailed Description

template<typename T>
class edm::maker::ModuleHolderT< T >

Definition at line 26 of file EDAnalyzer.h.

Constructor & Destructor Documentation

template<typename T>
edm::maker::ModuleHolderT< T >::ModuleHolderT ( std::shared_ptr< T iModule,
Maker const *  iMaker 
)
inline

Definition at line 58 of file ModuleHolder.h.

58 : ModuleHolder(iMaker), m_mod(iModule) {}
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
ModuleHolder(Maker const *iMaker)
Definition: ModuleHolder.h:39
template<typename T>
edm::maker::ModuleHolderT< T >::~ModuleHolderT ( )
inlineoverride

Definition at line 59 of file ModuleHolder.h.

59 {}

Member Function Documentation

template<typename T>
std::unique_ptr<OutputModuleCommunicator> edm::maker::ModuleHolderT< T >::createOutputModuleCommunicator ( )
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 74 of file ModuleHolder.h.

References eostools::move().

74  {
76  }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
static std::unique_ptr< edm::OutputModuleCommunicator > createIfNeeded(T *iMod)
def move(src, dest)
Definition: eostools.py:511
template<typename T>
std::shared_ptr<T> edm::maker::ModuleHolderT< T >::module ( ) const
inline

Definition at line 60 of file ModuleHolder.h.

Referenced by edm::WorkerMaker< T >::makeWorker().

60 { return m_mod; }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
template<typename T>
ModuleDescription const& edm::maker::ModuleHolderT< T >::moduleDescription ( ) const
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 66 of file ModuleHolder.h.

66 { return m_mod->moduleDescription(); }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
template<typename T>
void edm::maker::ModuleHolderT< T >::preallocate ( PreallocationConfiguration const &  iPrealloc)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 68 of file ModuleHolder.h.

Referenced by edm::global::EDAnalyzerBase::endJob(), and edm::limited::EDAnalyzerBase::endJob().

68 { m_mod->doPreallocate(iPrealloc); }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
template<typename T>
void edm::maker::ModuleHolderT< T >::registerProductsAndCallbacks ( ProductRegistry iReg)
inlineoverridevirtual
template<typename T>
void edm::maker::ModuleHolderT< T >::replaceModuleFor ( Worker iWorker) const
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 61 of file ModuleHolder.h.

References w.

61  {
62  auto w = dynamic_cast<WorkerT<T>*>(iWorker);
63  assert(nullptr != w);
64  w->setModule(m_mod);
65  }
const double w
Definition: UKUtility.cc:23
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
template<typename T>
void edm::maker::ModuleHolderT< T >::setModuleDescription ( ModuleDescription const &  iDesc)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 67 of file ModuleHolder.h.

67 { m_mod->setModuleDescription(iDesc); }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79

Member Data Documentation

template<typename T>
std::shared_ptr<T> edm::maker::ModuleHolderT< T >::m_mod
private

Definition at line 79 of file ModuleHolder.h.