13 : entryInfoSet_(), readEntryInfoSet_(), parentProcessRetriever_(nullptr) {}
16 : entryInfoSet_(), readEntryInfoSet_(), parentProcessRetriever_(nullptr) {
23 std::set<BranchID> ids;
26 if (
p.second.produced()
or p.second.isProvenanceSetOnRead()) {
27 ids.insert(
p.second.branchID());
32 for (
auto const&
b : ids) {
51 [](
auto const& iEntry,
edm::BranchID const& iValue) {
return iEntry.branchID() < iValue; });
54 << entryInfo.
branchID().
id() <<
" that has not been pre-registered";
62 return iEntry.branchID() < iValue;
64 if (itFound !=
entryInfoSet_.end() and itFound->branchID() == bid) {
65 if (
auto p = itFound->productProvenance()) {
75 std::set<ProductProvenance>
const* expected =
nullptr;
83 auto itRead = ptr->find(ei);
84 if (itRead != ptr->end()) {
90 return nr->branchIDToProvenance(bid);
98 return iEntry.branchID() < iValue;
100 if (itFound !=
entryInfoSet_.end() and itFound->branchID() == bid) {
101 if (
auto p = itFound->productProvenance()) {
110 return nr->branchIDToProvenanceForProducedOnly(bid);
ProductProvenance const * branchIDToProvenanceForProducedOnly(BranchID const &bid) const
BranchID const & branchID() const
virtual ~ProductProvenanceLookup()
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
ParentageID moveParentageID()
ProductProvenance const * branchIDToProvenance(BranchID const &bid) const
ProductList const & productList() const
virtual std::unique_ptr< const std::set< ProductProvenance > > readProvenance() const =0
void update(edm::ProductRegistry const &)
std::atomic< const std::set< ProductProvenance > * > readEntryInfoSet_
virtual const ProductProvenanceLookup * nextRetriever() const =0
void insertIntoSet(ProductProvenance provenanceProduct) const
edm::propagate_const< ProductProvenanceLookup const * > parentProcessRetriever_
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
ProductProvenanceLookup()
std::vector< ProducedProvenanceInfo > entryInfoSet_
void setupEntryInfoSet(edm::ProductRegistry const &)