24 TypeLabelList::const_iterator
const& iEnd,
29 std::vector<std::string> missingDictionaries;
30 std::vector<std::string> producedTypes;
31 std::set<std::tuple<BranchType,std::type_index,std::string>> registeredProducts;
33 for(TypeLabelList::const_iterator
p = iBegin;
p != iEnd; ++
p) {
37 producedTypes.emplace_back(
p->typeID_.className());
42 std::tuple<BranchType, std::type_index, std::string>
entry{
branchType,
p->typeID_.typeInfo(),
p->productInstanceName_};
43 if(registeredProducts.end() != registeredProducts.find(
entry) ) {
48 registeredProducts.insert(
entry);
56 p->typeID_.userClassName(),
57 p->typeID_.friendlyClassName(),
58 p->productInstanceName_,
65 if (pdesc.transient()) {
66 if (!
checkDictionary(missingDictionaries, pdesc.wrappedName(), pdesc.wrappedType())) {
70 producedTypes.emplace_back(pdesc.className());
76 producedTypes.emplace_back(pdesc.className());
84 if (!missingDictionaries.empty()) {
85 std::string context(
"Calling ProductRegistryHelper::addToRegistry, checking dictionaries for produced types");
void throwMissingDictionariesException(std::vector< std::string > &missingDictionaries, std::string const &context)
std::string const & processName() const
TypeLabelList typeLabelList_
TypeLabelList const & typeLabelList() const
used by the fwk to register the list of products of this module
std::string const & moduleName() const
std::string const & moduleLabel() const
constexpr bool isEndTransition(Transition iValue)
std::vector< TypeLabelItem > TypeLabelList
bool checkDictionary(std::vector< std::string > &missingDictionaries, TypeID const &typeID)
bool checkClassDictionaries(std::vector< std::string > &missingDictionaries, TypeID const &typeID)
ParameterSetID const & parameterSetID() const
bool checkDictionaryOfWrappedType(std::vector< std::string > &missingDictionaries, TypeID const &unwrappedTypeID)
static void addToRegistry(TypeLabelList::const_iterator const &iBegin, TypeLabelList::const_iterator const &iEnd, ModuleDescription const &iDesc, ProductRegistry &iReg, bool iIsListener=false)
void addProduct(BranchDescription const &productdesc, bool iFromListener=false)
constexpr BranchType convertToBranchType(Transition iValue)
void insertBranchAlias(std::string const &alias)
def branchType(schema, name)