1 #ifndef FWCore_Framework_ProductRegistryHelper_h
2 #define FWCore_Framework_ProductRegistryHelper_h
16 class ModuleDescription;
17 class ProductRegistry;
43 void addToRegistry(TypeLabelList::const_iterator
const& iBegin,
44 TypeLabelList::const_iterator
const& iEnd,
47 bool iIsListener=
false);
57 template <
class ProductType>
59 return produces<ProductType, InEvent>(
std::string());
62 template <
class ProductType>
64 return produces<ProductType, InEvent>(instanceName);
67 template <
typename ProductType, BranchType B>
72 template <
typename ProductType, BranchType B>
74 TypeID tid(
typeid(ProductType));
75 return produces<B>(tid,instanceName);
80 return produces<InEvent>(id,instanceName);
83 template <BranchType B>
std::list< TypeLabelItem > TypeLabelList
TypeLabelItem const & produces(const TypeID &id, std::string const &instanceName=std::string())
TypeLabelList typeLabelList_
TypeLabelItem const & produces(std::string const &instanceName)
std::string productInstanceName_
TypeLabelList & typeLabelList()
used by the fwk to register the list of products of this module
TypeLabelItem const & produces()
declare what type of product will make and with which optional label
TypeLabelItem const & produces()
void setBranchAlias(std::string const &alias) const
TypeLabelItem const & produces(std::string const &instanceName)
TypeLabelItem(BranchType const &branchType, TypeID const &tid, std::string const &pin)
TypeLabelItem const & produces(const TypeID &id, std::string const &instanceName=std::string())
static void addToRegistry(TypeLabelList::const_iterator const &iBegin, TypeLabelList::const_iterator const &iEnd, ModuleDescription const &iDesc, ProductRegistry &iReg, bool iIsListener=false)