1 #ifndef FWCore_Framework_ProductRegistryHelper_h 2 #define FWCore_Framework_ProductRegistryHelper_h 17 class ModuleDescription;
18 class ProductRegistry;
44 void addToRegistry(TypeLabelList::const_iterator
const& iBegin,
45 TypeLabelList::const_iterator
const& iEnd,
48 bool iIsListener=
false);
58 template <
class ProductType>
60 return produces<ProductType, InEvent>(
std::string());
63 template <
class ProductType>
68 template <
typename ProductType, BranchType B>
73 template <
typename ProductType, BranchType B>
75 TypeID tid(
typeid(ProductType));
79 template <
typename ProductType, Transition B>
84 template <
typename ProductType, Transition B>
86 TypeID tid(
typeid(ProductType));
95 template <BranchType B>
100 template <Transition 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)
static const std::string B
constexpr Transition convertToTransition(BranchType iValue)
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)
TypeLabelItem(Transition const &transition, TypeID const &tid, std::string const &pin)