CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
< OutputModuleCommunicator
createOutputModuleCommunicator () 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 ()
 
- 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 24 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:85
ModuleHolder(Maker const *iMaker)
Definition: ModuleHolder.h:39
template<typename T>
edm::maker::ModuleHolderT< T >::~ModuleHolderT ( )
inline

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 81 of file ModuleHolder.h.

References edm::maker::ModuleHolderT< T >::m_mod.

81  {
82  return std::move(OutputModuleCommunicatorT<T>::createIfNeeded(m_mod.get()));
83  }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:85
template<typename T>
std::shared_ptr<T> edm::maker::ModuleHolderT< T >::module ( ) const
inline
template<typename T>
ModuleDescription const& edm::maker::ModuleHolderT< T >::moduleDescription ( ) const
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 66 of file ModuleHolder.h.

References edm::maker::ModuleHolderT< T >::m_mod.

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

Implements edm::maker::ModuleHolder.

Definition at line 72 of file ModuleHolder.h.

References edm::maker::ModuleHolderT< T >::m_mod.

72  {
73  m_mod->doPreallocate(iPrealloc);
74  }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:85
template<typename T>
void edm::maker::ModuleHolderT< T >::registerProductsAndCallbacks ( ProductRegistry iReg)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 76 of file ModuleHolder.h.

References edm::maker::ModuleHolderT< T >::m_mod, and edm::maker::ModuleHolderT< T >::module().

76  {
77  m_mod->registerProductsAndCallbacks(module().get(),iReg);
78  }
std::shared_ptr< T > module() const
Definition: ModuleHolder.h:60
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:85
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 assert(), edm::maker::ModuleHolderT< T >::m_mod, and w.

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

Implements edm::maker::ModuleHolder.

Definition at line 69 of file ModuleHolder.h.

References edm::maker::ModuleHolderT< T >::m_mod.

69  {
70  m_mod->setModuleDescription(iDesc);
71  }
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:85

Member Data Documentation

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