1 #ifndef DataFormats_Provenance_ProductProvenanceRetriever_h
2 #define DataFormats_Provenance_ProductProvenanceRetriever_h
23 class ModuleCallingContext;
24 class ProductRegistry;
30 virtual std::set<ProductProvenance>
readProvenance(
unsigned int transitionIndex)
const = 0;
33 unsigned int transitionIndex,
34 std::atomic<
const std::set<ProductProvenance>*>& writeTo)
const = 0;
56 std::unique_ptr<const std::set<ProductProvenance>>
readProvenance()
const final;
void deepCopy(ProductProvenanceRetriever const &)
ProductProvenanceRetriever & operator=(ProductProvenanceRetriever const &)=delete
std::unique_ptr< const std::set< ProductProvenance > > readProvenance() const final
unsigned int transitionIndex_
void mergeParentProcessRetriever(ProductProvenanceRetriever const &provRetriever)
virtual ~ProvenanceReaderBase()
void mergeProvenanceRetrievers(std::shared_ptr< ProductProvenanceRetriever > other)
const ProductProvenanceLookup * nextRetriever() const final
std::shared_ptr< const ProvenanceReaderBase > provenanceReader_
virtual std::set< ProductProvenance > readProvenance(unsigned int transitionIndex) const =0
ProductProvenanceRetriever(unsigned int iTransitionIndex)
virtual void readProvenanceAsync(WaitingTaskHolder task, ModuleCallingContext const *moduleCallingContext, unsigned int transitionIndex, std::atomic< const std::set< ProductProvenance > * > &writeTo) const =0
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > nextRetriever_
void setTransitionIndex(unsigned int transitionIndex)
void readProvenanceAsync(WaitingTaskHolder task, ModuleCallingContext const *moduleCallingContext) const