CMS 3D CMS Logo

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 (ConstProductRegistry const &)=delete
 
 ConstProductRegistry (SignallingProductRegistry &iReg)
 
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

edm::propagate_const< SignallingProductRegistry * > reg_
 

Detailed Description

Definition at line 32 of file ConstProductRegistry.h.

Member Typedef Documentation

◆ ProductList

Definition at line 34 of file ConstProductRegistry.h.

Constructor & Destructor Documentation

◆ ConstProductRegistry() [1/2]

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

Definition at line 36 of file ConstProductRegistry.h.

36 : reg_(&iReg) {}

◆ ConstProductRegistry() [2/2]

edm::ConstProductRegistry::ConstProductRegistry ( ConstProductRegistry const &  )
delete

Member Function Documentation

◆ allBranchDescriptions()

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

Definition at line 55 of file ConstProductRegistry.h.

55 { return reg_->allBranchDescriptions(); }

References reg_.

Referenced by ShallowTree::ShallowTree().

◆ allBranchNames()

std::vector<std::string> edm::ConstProductRegistry::allBranchNames ( ) const
inline

Definition at line 49 of file ConstProductRegistry.h.

49 { return reg_->allBranchNames(); }

References reg_.

◆ anyProductProduced()

bool edm::ConstProductRegistry::anyProductProduced ( ) const
inline

Definition at line 57 of file ConstProductRegistry.h.

57 { return reg_->anyProductProduced(); }

References reg_.

◆ operator=()

ConstProductRegistry& edm::ConstProductRegistry::operator= ( ConstProductRegistry const &  )
delete

◆ productList()

ProductList const& edm::ConstProductRegistry::productList ( ) const
inline

Definition at line 44 of file ConstProductRegistry.h.

44 { return reg_->productList(); }

References reg_.

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

◆ productRegistry()

ProductRegistry const& edm::ConstProductRegistry::productRegistry ( ) const
inline

Definition at line 42 of file ConstProductRegistry.h.

42 { return *reg_; }

References reg_.

◆ watchProductAdditions() [1/2]

template<class T >
void edm::ConstProductRegistry::watchProductAdditions ( const T iFunc)
inline

Definition at line 60 of file ConstProductRegistry.h.

60  {
61  serviceregistry::connect_but_block_self(reg_->productAddedSignal_, iFunc);
62  }

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

◆ watchProductAdditions() [2/2]

template<class T , class TMethod >
void edm::ConstProductRegistry::watchProductAdditions ( T const &  iObj,
TMethod  iMethod 
)
inline

Definition at line 64 of file ConstProductRegistry.h.

64  {
65  using std::placeholders::_1;
66  serviceregistry::connect_but_block_self(reg_->productAddedSignal_, std::bind(iMethod, iObj, _1));
67  }

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

Member Data Documentation

◆ reg_

edm::propagate_const<SignallingProductRegistry*> edm::ConstProductRegistry::reg_
private
edm::serviceregistry::connect_but_block_self
void connect_but_block_self(Signal &oSignal, const Func &iFunc)
Definition: connect_but_block_self.h:59
edm::ConstProductRegistry::reg_
edm::propagate_const< SignallingProductRegistry * > reg_
Definition: ConstProductRegistry.h:71