1 #ifndef FWCore_Framework_ProductHolder_h
2 #define FWCore_Framework_ProductHolder_h
24 class ProductProvenanceRetriever;
26 class ModuleCallingContext;
51 bool skipCurrentProcess,
54 return resolveProduct_(resolveStatus, principal, skipCurrentProcess, sra, mcc);
125 void write(std::ostream& os)
const;
179 bool skipCurrentProcess,
187 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const = 0;
189 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const = 0;
233 bool skipCurrentProcess,
237 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override;
239 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override;
287 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override;
289 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override;
320 bool skipCurrentProcess,
351 bool skipCurrentProcess,
381 bool skipCurrentProcess,
408 bool skipCurrentProcess,
422 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override {
428 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override {
444 std::shared_ptr<BranchDescription const>
bd_;
451 std::vector<bool>
const& ambiguous);
458 bool skipCurrentProcess,
466 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override;
468 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override;
Provenance const & provenance() const
virtual ProductStatus & status_() const =0
virtual bool onDemand_() const =0
virtual void swap_(ProductHolderBase &rhs) override
WrapperBase const * product() const
virtual ProductData & getProductData() override
bool provenanceAvailable() const
UnscheduledProductHolder(std::shared_ptr< BranchDescription const > bd)
virtual ProductData & getProductData() override
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd) override
virtual BranchDescription const & branchDescription_() const override
virtual ProductProvenance const * productProvenancePtr_() const override
void putProduct(std::unique_ptr< WrapperBase > edp) const
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
std::shared_ptr< BranchDescription const > const & branchDescription() const
std::vector< ProductHolderIndex > matchingHolders_
virtual ProductData const & getProductData() const override
virtual bool onDemand_() const override
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd) override
ProducedProductHolder::ProductStatus ProductStatus
void checkType(WrapperBase const &prod) const
virtual void setProductDeleted_() const =0
virtual void setProcessHistory_(ProcessHistory const &ph) override
void unsafe_deleteProduct() const
virtual ProductStatus & status_() const override
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
virtual ProductData const & getProductData() const override
virtual ProductStatus & status_() const override
virtual void resetStatus_() override
virtual void setProductDeleted_() const override
virtual BranchDescription const & branchDescription_() const override
ProducedProductHolder::ProductStatus ProductStatus
void resetBranchDescription(std::shared_ptr< BranchDescription const > bd)
ProductHolderBase & operator=(ProductHolderBase const &)=delete
virtual void setProcessHistory_(ProcessHistory const &ph)=0
virtual bool putOrMergeProduct_() const override
virtual ProductStatus & status_() const override
WrapperBase const * wrapper() const
virtual void setProductDeleted_() const override
std::string const & processName() const
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual bool singleProduct_() const override
virtual void checkType_(WrapperBase const &prod) const override
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)=0
virtual BranchDescription const & branchDescription_() const =0
void write(std::ostream &os) const
void swap(Association< C > &lhs, Association< C > &rhs)
void resetBranchDescription(std::shared_ptr< BranchDescription const > bd)
virtual void checkType_(WrapperBase const &prod) const override
std::string const & moduleLabel() const
virtual ProductData & getProductData() override
virtual void resetStatus_() override
virtual void resetStatus_() override
virtual bool singleProduct_() const =0
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
virtual ~SourceProductHolder()
virtual bool singleProduct_() const override
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp) const override
virtual bool putOrMergeProduct_() const override
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const =0
bool singleProduct() const
BranchDescription const & branchDescription() const
Provenance const * provenance() const
virtual void setProcessHistory_(ProcessHistory const &ph) override
std::string const & moduleLabel() const
virtual bool productUnavailable_() const =0
std::string const & productInstanceName() const
AliasProductHolder(std::shared_ptr< BranchDescription const > bd, ProducedProductHolder &realProduct)
ProductProvenance const * productProvenancePtr() const
virtual void resetProductData_() override
virtual bool productUnavailable_() const override
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
virtual void swap_(ProductHolderBase &rhs)=0
virtual void checkType_(WrapperBase const &prod) const override
virtual bool putOrMergeProduct_() const override
virtual void checkType_(WrapperBase const &prod) const =0
virtual void resetProductData_() override
virtual void resetStatus_() override
virtual ~ProductHolderBase()
ProductID const & productID() const
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd)=0
virtual bool productUnavailable_() const override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const =0
void swap(ProductHolderBase &rhs)
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
bool productWasDeleted() const
ProductData const & productData() const
virtual bool onDemand_() const override
virtual ProductData const & getProductData() const =0
virtual std::string const & resolvedModuleLabel_() const override
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd) override
virtual ProductProvenance const * productProvenancePtr_() const =0
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual void setProcessHistory_(ProcessHistory const &ph) override
virtual void setProductDeleted_() const override
virtual void resetStatus_()=0
virtual ProductProvenance const * productProvenancePtr_() const override
virtual bool onDemand_() const override
NoProcessProductHolder(std::vector< ProductHolderIndex > const &matchingHolders, std::vector< bool > const &ambiguous)
std::string const & resolvedModuleLabel() const
virtual bool onDemand_() const override
virtual ProductData const & getProductData() const override
virtual bool putOrMergeProduct_() const =0
virtual ProductProvenance const * productProvenancePtr_() const override
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
virtual void swap_(ProductHolderBase &rhs) override
void throwProductDeletedException() const
void reallyCheckType(WrapperBase const &prod) const
virtual void resetProductData_()=0
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp) const override
SourceProductHolder(std::shared_ptr< BranchDescription const > bd)
std::string const & processName() const
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
void mergeProduct(std::unique_ptr< WrapperBase > edp) const
void setProvenance(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
virtual ~NoProcessProductHolder()
bool putOrMergeProduct() const
void putProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
void mergeProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
void mergeTheProduct(std::unique_ptr< WrapperBase > edp) const
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
std::vector< bool > ambiguous_
virtual bool singleProduct_() const override
virtual void swap_(ProductHolderBase &rhs) override
virtual ~AliasProductHolder()
virtual bool productWasDeleted_() const override
virtual BranchDescription const & branchDescription_() const override
virtual ~ScheduledProductHolder()
virtual ~UnscheduledProductHolder()
ScheduledProductHolder(std::shared_ptr< BranchDescription const > bd)
virtual bool productUnavailable_() const override
ProductData const * resolveProduct(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
virtual std::string const & resolvedModuleLabel_() const override
virtual void swap_(ProductHolderBase &rhs) override
virtual bool onDemand_() const override
ProductData & productData()
ProductStatus & status() const
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
std::shared_ptr< BranchDescription const > bd_
virtual std::string const & resolvedModuleLabel_() const override
virtual ProductData const & getProductData() const override
WrapperBase * unsafe_product() const
ProductStatus & status() const
virtual void resetProductData_() override
virtual bool productWasDeleted_() const override
virtual bool productWasDeleted_() const =0
ProductID const & productID() const
virtual ProductData const & getProductData() const override
void unsafe_resetProductData() const
virtual void swap_(ProductHolderBase &rhs) override
volatile std::atomic< bool > shutdown_flag false
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
virtual void resetStatus_() override
void setProcessHistory(ProcessHistory const &ph)
TypeID productType() const
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
virtual bool productWasDeleted_() const override
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
std::string const & productInstanceName() const
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual ProductData & getProductData() override
ProducedProductHolder & realProduct_
WrapperBase * unsafe_wrapper() const
virtual std::string const & resolvedModuleLabel_() const =0
virtual ~ProducedProductHolder()
bool productUnavailable() const