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 31 of file ConstProductRegistry.h.

Member Typedef Documentation

Definition at line 35 of file ConstProductRegistry.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file ConstProductRegistry.h.

37 : 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 56 of file ConstProductRegistry.h.

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

Referenced by ShallowTree::beginJob().

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

Definition at line 50 of file ConstProductRegistry.h.

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

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

Definition at line 58 of file ConstProductRegistry.h.

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

58 {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 45 of file ConstProductRegistry.h.

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

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

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

Definition at line 43 of file ConstProductRegistry.h.

References reg_.

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

Definition at line 61 of file ConstProductRegistry.h.

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

62  {
64  iFunc);
65  }
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 67 of file ConstProductRegistry.h.

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

68  {
69  using std::placeholders::_1;
71  std::bind(iMethod, iObj,_1));
72  }
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