1 #ifndef art_Framework_Core_ProducesCollector_h 2 #define art_Framework_Core_ProducesCollector_h 18 class ModuleDescription;
29 <<
"In particular, underscores are not permissible anywhere in the " 31 "class name, including namespaces.\n";
36 verifyModuleLabel(std::string
const& ml)
59 template <
typename P, BranchType B = InEvent>
60 void produces(std::string
const& instanceName = {},
67 template <
typename P, BranchType B>
69 std::string
const& instanceName = {});
77 std::array<TypeLabelLookup_t, NumBranchTypes> typeLabelList_{{}};
83 return typeLabelList_[bt];
86 template <
typename P, art::BranchType B>
92 TypeID const productType{
typeid(P)};
97 insertOrThrow(B, typeLabel);
100 template <
typename P, BranchType B>
103 std::string
const& instanceName)
105 verifyModuleLabel(emulatedModule);
107 TypeID const productType{
typeid(P)};
111 return insertOrThrow(B, typeLabel);
void verifyFriendlyClassName(std::string const &fcn)
std::map< TypeLabel, BranchDescription > TypeLabelLookup_t
bool checkInstanceName(std::string const &instanceName, std::string &errMsg)
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
bool checkFriendlyName(std::string const &friendlyName, std::string &errMsg)
TypeLabel const & reconstitutes(std::string const &modLabel, std::string const &instanceName={})
bool checkModuleLabel(std::string const &moduleLabel, std::string &errMsg)
TypeLabelLookup_t const & expectedProducts(BranchType) const
void verifyInstanceName(std::string const &in)