24 class CallbackWrapper {
30 prod_(iProd), callback_(iCallback), reg_(iReg), mdesc_(iDesc),
41 if(lastSize_!=plist.size()){
42 ProducerBase::TypeLabelList::const_iterator pStart = plist.begin();
43 advance(pStart, lastSize_);
45 lastSize_ = plist.size();
51 std::function<void(BranchDescription const&)> callback_;
54 unsigned int lastSize_;
71 bool isListener =
false;
86 std::unordered_multimap<std::string, edm::ProductResolverIndex>
const& iIndicies,
88 auto range = iIndicies.equal_range(moduleLabel);
89 putIndicies_[iBranchType].reserve(iIndicies.count(moduleLabel));
90 for(
auto it = range.first; it != range.second;++it) {
ProductRegistryHelper::TypeLabelList TypeLabelList
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
std::array< std::vector< edm::ProductResolverIndex >, edm::NumBranchTypes > putIndicies_
TypeLabelList & typeLabelList()
used by the fwk to register the list of products of this module
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
void callForEachBranch(T const &iFunc)
std::function< void(BranchDescription const &)> registrationCallback() const
used by the fwk to register list of products
static void addToRegistry(TypeLabelList::const_iterator const &iBegin, TypeLabelList::const_iterator const &iEnd, ModuleDescription const &iDesc, ProductRegistry &iReg, bool iIsListener=false)
virtual ~ProducerBase() noexcept(false)