Go to the documentation of this file. 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;
const ProductProvenanceLookup * nextRetriever() const final
void readProvenanceAsync(WaitingTaskHolder task, ModuleCallingContext const *moduleCallingContext) const
ProductProvenanceRetriever & operator=(ProductProvenanceRetriever const &)=delete
virtual void readProvenanceAsync(WaitingTaskHolder task, ModuleCallingContext const *moduleCallingContext, unsigned int transitionIndex, std::atomic< const std::set< ProductProvenance > * > &writeTo) const =0
void mergeParentProcessRetriever(ProductProvenanceRetriever const &provRetriever)
std::unique_ptr< const std::set< ProductProvenance > > readProvenance() const final
void mergeProvenanceRetrievers(std::shared_ptr< ProductProvenanceRetriever > other)
virtual ~ProvenanceReaderBase()
virtual std::set< ProductProvenance > readProvenance(unsigned int transitionIndex) const =0
void deepCopy(ProductProvenanceRetriever const &)
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > nextRetriever_
void setTransitionIndex(unsigned int transitionIndex)
unsigned int transitionIndex_
ProductProvenanceRetriever(unsigned int iTransitionIndex)
std::shared_ptr< const ProvenanceReaderBase > provenanceReader_