CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 () 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 edm::maker::ModuleHolderT< T >::m_mod, and eostools::move().

74  {
75  return std::move(OutputModuleCommunicatorT<T>::createIfNeeded(m_mod.get()));
76  }
def move
Definition: eostools.py:511
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
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 { 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.

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

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

Implements edm::maker::ModuleHolder.

Definition at line 70 of file ModuleHolder.h.

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

70  {
71  m_mod->registerProductsAndCallbacks(module().get(), iReg);
72  }
std::shared_ptr< T > module() const
Definition: ModuleHolder.h:60
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
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 cms::cuda::assert(), edm::maker::ModuleHolderT< T >::m_mod, and w().

61  {
62  auto w = dynamic_cast<WorkerT<T>*>(iWorker);
63  assert(nullptr != w);
64  w->setModule(m_mod);
65  }
assert(be >=bs)
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
T w() const
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.

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

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