CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
edm::ConstProductRegistry Class Reference

#include <ConstProductRegistry.h>

Public Types

typedef
ProductRegistry::ProductList 
ProductList
 

Public Member Functions

std::vector< BranchDescription
const * > 
allBranchDescriptions () const
 
std::vector< std::string > allBranchNames () const
 
bool anyProductProduced () const
 
 ConstProductRegistry (SignallingProductRegistry &iReg)
 
 ConstProductRegistry (ConstProductRegistry const &)=delete
 
ConstProductRegistryoperator= (ConstProductRegistry const &)=delete
 
ProductList const & productList () const
 
ProductRegistry const & productRegistry () const
 
template<class T >
void watchProductAdditions (const T &iFunc)
 
template<class T , class TMethod >
void watchProductAdditions (T const &iObj, TMethod iMethod)
 

Private Attributes

SignallingProductRegistryreg_
 

Detailed Description

Definition at line 33 of file ConstProductRegistry.h.

Member Typedef Documentation

Definition at line 37 of file ConstProductRegistry.h.

Constructor & Destructor Documentation

edm::ConstProductRegistry::ConstProductRegistry ( SignallingProductRegistry iReg)
inline

Definition at line 39 of file ConstProductRegistry.h.

39 : reg_(&iReg) { }
SignallingProductRegistry * reg_
edm::ConstProductRegistry::ConstProductRegistry ( ConstProductRegistry const &  )
delete

Member Function Documentation

std::vector<BranchDescription const*> edm::ConstProductRegistry::allBranchDescriptions ( ) const
inline

Definition at line 58 of file ConstProductRegistry.h.

References edm::ProductRegistry::allBranchDescriptions(), and reg_.

Referenced by ShallowTree::beginJob().

58 {return reg_->allBranchDescriptions();}
std::vector< BranchDescription const * > allBranchDescriptions() const
SignallingProductRegistry * reg_
std::vector<std::string> edm::ConstProductRegistry::allBranchNames ( ) const
inline

Definition at line 52 of file ConstProductRegistry.h.

References edm::ProductRegistry::allBranchNames(), and reg_.

52 {return reg_->allBranchNames();}
std::vector< std::string > allBranchNames() const
SignallingProductRegistry * reg_
bool edm::ConstProductRegistry::anyProductProduced ( ) const
inline

Definition at line 60 of file ConstProductRegistry.h.

References edm::ProductRegistry::anyProductProduced(), and reg_.

60 {return reg_->anyProductProduced();}
bool anyProductProduced() const
SignallingProductRegistry * reg_
ConstProductRegistry& edm::ConstProductRegistry::operator= ( ConstProductRegistry const &  )
delete
ProductList const& edm::ConstProductRegistry::productList ( ) const
inline

Definition at line 47 of file ConstProductRegistry.h.

References edm::ProductRegistry::productList(), and reg_.

Referenced by edm::HiMixingModule::verifyRegistry().

47 {return reg_->productList();}
ProductList const & productList() const
SignallingProductRegistry * reg_
ProductRegistry const& edm::ConstProductRegistry::productRegistry ( ) const
inline

Definition at line 45 of file ConstProductRegistry.h.

References reg_.

45 {return *reg_;}
SignallingProductRegistry * reg_
template<class T >
void edm::ConstProductRegistry::watchProductAdditions ( const T iFunc)
inline

Definition at line 63 of file ConstProductRegistry.h.

References edm::serviceregistry::connect_but_block_self(), edm::SignallingProductRegistry::productAddedSignal_, and reg_.

64  {
66  iFunc);
67  }
signalslot::Signal< void(BranchDescription const &)> productAddedSignal_
SignallingProductRegistry * reg_
void connect_but_block_self(Signal &oSignal, const Func &iFunc)
template<class T , class TMethod >
void edm::ConstProductRegistry::watchProductAdditions ( T const &  iObj,
TMethod  iMethod 
)
inline

Definition at line 69 of file ConstProductRegistry.h.

References edm::serviceregistry::connect_but_block_self(), edm::SignallingProductRegistry::productAddedSignal_, and reg_.

70  {
72  boost::bind(iMethod, iObj,_1));
73  }
signalslot::Signal< void(BranchDescription const &)> productAddedSignal_
SignallingProductRegistry * reg_
void connect_but_block_self(Signal &oSignal, const Func &iFunc)

Member Data Documentation

SignallingProductRegistry* edm::ConstProductRegistry::reg_
private