1 #ifndef FWCore_Framework_ProductHolder_h
2 #define FWCore_Framework_ProductHolder_h
24 class ProductProvenanceRetriever;
26 class ModuleCallingContext;
50 bool skipCurrentProcess,
127 void write(std::ostream& os)
const;
178 bool skipCurrentProcess,
186 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const = 0;
188 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const = 0;
232 bool skipCurrentProcess,
236 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override;
238 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override;
288 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override;
290 virtual void mergeProduct_(std::unique_ptr<WrapperBase> edp)
const override;
321 bool skipCurrentProcess,
351 bool skipCurrentProcess,
381 bool skipCurrentProcess,
407 bool skipCurrentProcess,
421 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const override {
427 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;
virtual ProductStatus & status_() const =0
void setPrincipal(Principal *principal)
WrapperBase * product() const
virtual bool onDemand_() const =0
virtual void swap_(ProductHolderBase &rhs) override
virtual ProductData & getProductData() override
virtual void setPrincipal_(Principal *principal) override
bool provenanceAvailable() const
virtual ProductData & getProductData() override
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd) override
virtual BranchDescription const & branchDescription_() const override
void putProduct(std::unique_ptr< WrapperBase > edp) const
std::vector< ProductHolderIndex > matchingHolders_
virtual void setProductDeleted_() override
virtual void setProductDeleted_() override
virtual ProductData const & getProductData() const override
virtual bool onDemand_() const override
void resetBranchDescription(std::shared_ptr< BranchDescription const > bd)
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd) override
ProducedProductHolder::ProductStatus ProductStatus
std::shared_ptr< BranchDescription const > const & branchDescription() const
void checkType(WrapperBase const &prod) const
virtual void setProcessHistory_(ProcessHistory const &ph) override
virtual ProductStatus & status_() const override
virtual ProductData const & getProductData() const override
virtual ProductProvenance * productProvenancePtr_() const override
virtual ProductStatus & status_() const override
virtual void resetStatus_() override
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual BranchDescription const & branchDescription_() const override
virtual void setProvenance_(std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid) 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
NoProcessProductHolder(std::vector< ProductHolderIndex > const &matchingHolders, std::vector< bool > const &ambiguous, Principal *principal)
std::string const & processName() const
virtual bool singleProduct_() const override
virtual void checkType_(WrapperBase const &prod) const override
virtual BranchDescription const & branchDescription_() const =0
void write(std::ostream &os) const
virtual void setProductDeleted_() override
void swap(Association< C > &lhs, Association< C > &rhs)
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance)=0
virtual void checkType_(WrapperBase const &prod) const override
std::string const & moduleLabel() const
virtual ProductData & getProductData() override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance)=0
virtual void resetStatus_() override
virtual void resetStatus_() override
virtual bool singleProduct_() const =0
virtual void setPrincipal_(Principal *principal) override
virtual ~SourceProductHolder()
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance) override
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual bool singleProduct_() const override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp) const override
Provenance * provenance() const
virtual bool putOrMergeProduct_() const override
ProductProvenance * productProvenancePtr() const
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) override
bool singleProduct() const
BranchDescription const & branchDescription() const
UnscheduledProductHolder(std::shared_ptr< BranchDescription const > bd, Principal *principal)
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
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)
virtual void resetProductData_() override
virtual bool productUnavailable_() const override
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
virtual void swap_(ProductHolderBase &rhs)=0
virtual ProductProvenance * productProvenancePtr_() const =0
virtual void checkType_(WrapperBase const &prod) const override
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance) override
virtual bool putOrMergeProduct_() const override
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual void checkType_(WrapperBase const &prod) const =0
virtual void resetProductData_() override
virtual void resetStatus_() override
virtual ~ProductHolderBase()
virtual void setProvenance_(std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid) override
ProductID const & productID() const
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd)=0
std::shared_ptr< WrapperBase > wrapper_
virtual bool productUnavailable_() const override
void swap(ProductHolderBase &rhs)
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
void setProvenance(std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid)
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
virtual void mergeProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance) override
virtual void setProvenance_(std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid)=0
virtual void setProcessHistory_(ProcessHistory const &ph) override
virtual void resetStatus_()=0
virtual ProductProvenance * productProvenancePtr_() const override
virtual bool onDemand_() const override
std::string const & resolvedModuleLabel() const
virtual bool onDemand_() const override
virtual ProductData const & getProductData() const override
virtual bool putOrMergeProduct_() const =0
virtual void swap_(ProductHolderBase &rhs) override
void throwProductDeletedException() const
void setProductProvenance(ProductProvenance const &prov) 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
void mergeProduct(std::unique_ptr< WrapperBase > edp) const
virtual ~NoProcessProductHolder()
bool putOrMergeProduct() const
ProductData const * resolveProduct(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
void mergeTheProduct(std::unique_ptr< WrapperBase > edp) const
std::vector< bool > ambiguous_
virtual bool singleProduct_() const override
virtual void swap_(ProductHolderBase &rhs) override
virtual ~AliasProductHolder()
virtual bool productWasDeleted_() const override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) override
virtual BranchDescription const & branchDescription_() const override
virtual ~ScheduledProductHolder()
virtual ~UnscheduledProductHolder()
ScheduledProductHolder(std::shared_ptr< BranchDescription const > bd)
virtual bool productUnavailable_() const override
virtual std::string const & resolvedModuleLabel_() const override
virtual void swap_(ProductHolderBase &rhs) override
virtual void setPrincipal_(Principal *principal) override
virtual bool onDemand_() const override
ProductData & productData()
ProductStatus & status() const
virtual ProductData const * resolveProduct_(ResolveStatus &resolveStatus, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
std::shared_ptr< BranchDescription const > bd_
virtual std::string const & resolvedModuleLabel_() const override
void mergeProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance &productProvenance)
virtual ProductData const & getProductData() const override
ProductStatus & status() const
virtual void resetProductData_() override
virtual void putProduct_(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) override
virtual bool productWasDeleted_() const override
virtual bool productWasDeleted_() const =0
virtual void setProductDeleted_()=0
ProductID const & productID() const
virtual ProductData const & getProductData() const override
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)
virtual ProductProvenance * productProvenancePtr_() const override
TypeID productType() const
void putProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance)
virtual void setProvenance_(std::shared_ptr< ProductProvenanceRetriever > provRetriever, ProcessHistory const &ph, ProductID const &pid) override
virtual bool productWasDeleted_() const override
std::string const & productInstanceName() const
virtual ProductData & getProductData() override
ProducedProductHolder & realProduct_
virtual void setPrincipal_(Principal *principal)=0
virtual std::string const & resolvedModuleLabel_() const =0
virtual ~ProducedProductHolder()
bool productUnavailable() const