#include <ProductHolder.h>
Public Types | |
enum | ResolveStatus { ProductFound, ProductNotFound, Ambiguous } |
Public Member Functions | |
BranchDescription const & | branchDescription () const |
void | checkType (WrapperBase const &prod) const |
void | mergeProduct (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const |
void | mergeProduct (std::unique_ptr< WrapperBase > edp) const |
void | mergeTheProduct (std::unique_ptr< WrapperBase > edp) const |
std::string const & | moduleLabel () const |
bool | onDemand () const |
ProductHolderBase & | operator= (ProductHolderBase const &)=delete |
std::string const & | processName () const |
WrapperBase const * | product () const |
WrapperBase * | product () |
ProductData const & | productData () const |
ProductData & | productData () |
ProductHolderBase () | |
ProductHolderBase (ProductHolderBase const &)=delete | |
ProductID const & | productID () const |
std::string const & | productInstanceName () const |
ProductProvenance const * | productProvenancePtr () const |
TypeID | productType () const |
bool | productUnavailable () const |
bool | productWasDeleted () const |
Provenance const * | provenance () const |
bool | provenanceAvailable () const |
bool | putOrMergeProduct () const |
void | putProduct (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const |
void | putProduct (std::unique_ptr< WrapperBase > edp) const |
void | reallyCheckType (WrapperBase const &prod) const |
void | resetBranchDescription (std::shared_ptr< BranchDescription const > bd) |
void | resetProductData () |
void | resetStatus () |
std::string const & | resolvedModuleLabel () const |
ProductData const * | resolveProduct (ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
void | setProcessHistory (ProcessHistory const &ph) |
void | setProductDeleted () |
void | setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) |
bool | singleProduct () const |
void | swap (ProductHolderBase &rhs) |
void | throwProductDeletedException () const |
void | unsafe_deleteProduct () const |
void | write (std::ostream &os) const |
virtual | ~ProductHolderBase () |
Private Member Functions | |
virtual BranchDescription const & | branchDescription_ () const =0 |
virtual void | checkType_ (WrapperBase const &prod) const =0 |
virtual ProductData const & | getProductData () const =0 |
virtual ProductData & | getProductData ()=0 |
virtual void | mergeProduct_ (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const =0 |
virtual void | mergeProduct_ (std::unique_ptr< WrapperBase > edp) const =0 |
virtual bool | onDemand_ () const =0 |
virtual ProductProvenance const * | productProvenancePtr_ () const =0 |
virtual bool | productUnavailable_ () const =0 |
virtual bool | productWasDeleted_ () const =0 |
virtual bool | putOrMergeProduct_ () const =0 |
virtual void | putProduct_ (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const =0 |
virtual void | putProduct_ (std::unique_ptr< WrapperBase > edp) const =0 |
virtual void | resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd)=0 |
virtual void | resetProductData_ ()=0 |
virtual void | resetStatus_ ()=0 |
virtual std::string const & | resolvedModuleLabel_ () const =0 |
virtual ProductData const * | resolveProduct_ (ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0 |
virtual void | setProcessHistory_ (ProcessHistory const &ph)=0 |
virtual void | setProductDeleted_ () const =0 |
virtual void | setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)=0 |
virtual bool | singleProduct_ () const =0 |
virtual void | swap_ (ProductHolderBase &rhs)=0 |
WrapperBase * | unsafe_product () const |
Definition at line 30 of file ProductHolder.h.
edm::ProductHolderBase::ProductHolderBase | ( | ) |
Definition at line 27 of file ProductHolder.cc.
|
virtual |
Definition at line 29 of file ProductHolder.cc.
|
delete |
|
inline |
Definition at line 93 of file ProductHolder.h.
References branchDescription_().
Referenced by edm::Principal::checkUniquenessAndType(), edm::PrincipalGetAdapter::getBranchDescription(), edm::Principal::getExistingProduct(), mergeTheProduct(), moduleLabel(), processName(), productInstanceName(), provenanceAvailable(), edm::ProducedProductHolder::putProduct_(), edm::Principal::readAllFromSourceAndMergeImmediately(), edm::EventPrincipal::readFromSource_(), reallyCheckType(), edm::Principal::resolveProductImmediately(), and throwProductDeletedException().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by branchDescription().
|
inline |
Definition at line 164 of file ProductHolder.h.
References checkType_().
Referenced by edm::AliasProductHolder::checkType_(), edm::Principal::checkUniquenessAndType(), and edm::Principal::putOrMerge().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by checkType().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by product(), productData(), productID(), unsafe_deleteProduct(), and unsafe_product().
|
privatepure virtual |
|
inline |
Definition at line 151 of file ProductHolder.h.
References mergeProduct_(), and eostools::move().
Referenced by edm::AliasProductHolder::mergeProduct_(), and edm::Principal::putOrMerge().
|
inline |
Definition at line 155 of file ProductHolder.h.
References mergeProduct_(), and eostools::move().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by mergeProduct().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
void edm::ProductHolderBase::mergeTheProduct | ( | std::unique_ptr< WrapperBase > | edp | ) | const |
Definition at line 203 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::className(), edm::WrapperBase::hasIsProductEqual(), edm::WrapperBase::isProductEqual(), edm::WrapperBase::mergeProduct(), moduleLabel(), processName(), product(), productInstanceName(), and unsafe_product().
Referenced by edm::InputProductHolder::mergeProduct_(), and edm::ProducedProductHolder::mergeProduct_().
|
inline |
Definition at line 102 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::moduleLabel().
Referenced by mergeTheProduct(), edm::InputProductHolder::resolvedModuleLabel_(), edm::ProducedProductHolder::resolvedModuleLabel_(), edm::AliasProductHolder::resolvedModuleLabel_(), edm::NoProcessProductHolder::resolvedModuleLabel_(), edm::UnscheduledProductHolder::resolveProduct_(), and throwProductDeletedException().
|
inline |
Definition at line 79 of file ProductHolder.h.
References onDemand_().
Referenced by edm::AliasProductHolder::onDemand_(), and edm::ProducedProductHolder::productUnavailable_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by onDemand().
|
delete |
|
inline |
Definition at line 113 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::processName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 85 of file ProductHolder.h.
References getProductData(), and edm::ProductData::wrapper().
Referenced by mergeTheProduct(), productType(), edm::InputProductHolder::productUnavailable_(), edm::ProducedProductHolder::productUnavailable_(), provenanceAvailable(), edm::InputProductHolder::putOrMergeProduct_(), edm::InputProductHolder::putProduct_(), edm::ProducedProductHolder::putProduct_(), edm::EventPrincipal::readFromSource_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), edm::SourceProductHolder::resolveProduct_(), and edm::InputProductHolder::setProduct().
|
inline |
Definition at line 87 of file ProductHolder.h.
References getProductData(), and edm::ProductData::wrapper().
|
inline |
Definition at line 41 of file ProductHolder.h.
References getProductData().
Referenced by edm::InputProductHolder::branchDescription_(), edm::ProducedProductHolder::branchDescription_(), edm::AliasProductHolder::getProductData(), edm::SubProcess::propagateProducts(), provenance(), edm::ProducedProductHolder::putProduct_(), edm::InputProductHolder::resetBranchDescription_(), edm::ProducedProductHolder::resetBranchDescription_(), edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), edm::InputProductHolder::setProcessHistory_(), edm::ProducedProductHolder::setProcessHistory_(), edm::AliasProductHolder::setProcessHistory_(), edm::InputProductHolder::setProduct(), edm::InputProductHolder::setProvenance_(), edm::ProducedProductHolder::setProvenance_(), and edm::AliasProductHolder::setProvenance_().
|
inline |
Definition at line 45 of file ProductHolder.h.
References getProductData().
|
inline |
Definition at line 133 of file ProductHolder.h.
References getProductData(), edm::Provenance::productID(), and edm::ProductData::provenance().
Referenced by write().
|
inline |
Definition at line 110 of file ProductHolder.h.
References branchDescription(), and edm::BranchDescription::productInstanceName().
Referenced by mergeTheProduct(), and throwProductDeletedException().
|
inline |
Definition at line 90 of file ProductHolder.h.
References productProvenancePtr_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by productProvenancePtr().
TypeID edm::ProductHolderBase::productType | ( | ) | const |
|
inline |
Definition at line 73 of file ProductHolder.h.
References productUnavailable_().
Referenced by edm::AliasProductHolder::productUnavailable_(), edm::SubProcess::propagateProducts(), edm::ProducedProductHolder::putOrMergeProduct_(), edm::Principal::readAllFromSourceAndMergeImmediately(), edm::EventPrincipal::readFromSource_(), and edm::InputProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by productUnavailable().
|
inline |
Definition at line 82 of file ProductHolder.h.
References productWasDeleted_().
Referenced by edm::AliasProductHolder::productWasDeleted_(), edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by productWasDeleted().
Provenance const * edm::ProductHolderBase::provenance | ( | ) | const |
Definition at line 353 of file ProductHolder.cc.
References productData(), and edm::ProductData::provenance().
Referenced by edm::InputProductHolder::productProvenancePtr_(), edm::ProducedProductHolder::productProvenancePtr_(), and edm::AliasProductHolder::productProvenancePtr_().
bool edm::ProductHolderBase::provenanceAvailable | ( | ) | const |
Definition at line 323 of file ProductHolder.cc.
References branchDescription(), edm::WrapperBase::isPresent(), edm::es::produced, and product().
|
inline |
Definition at line 146 of file ProductHolder.h.
References putOrMergeProduct_().
Referenced by edm::Principal::putOrMerge(), and edm::AliasProductHolder::putOrMergeProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by putOrMergeProduct().
|
inline |
Definition at line 136 of file ProductHolder.h.
References eostools::move(), and putProduct_().
Referenced by edm::Principal::putOrMerge(), edm::AliasProductHolder::putProduct_(), and edm::EventPrincipal::readFromSource_().
|
inline |
Definition at line 141 of file ProductHolder.h.
References eostools::move(), and putProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by putProduct().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
void edm::ProductHolderBase::reallyCheckType | ( | WrapperBase const & | prod | ) | const |
Definition at line 340 of file ProductHolder.cc.
References branchDescription(), edm::BranchDescription::branchName(), edm::BranchDescription::className(), edm::WrapperBase::dynamicTypeInfo(), edm::errors::EventCorruption, Exception, and edm::BranchDescription::unwrappedTypeID().
Referenced by edm::ProducedProductHolder::checkType_().
|
inline |
Definition at line 99 of file ProductHolder.h.
References resetBranchDescription_().
Referenced by edm::Principal::adjustToNewProductRegistry().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resetBranchDescription().
|
inline |
Definition at line 65 of file ProductHolder.h.
References resetProductData_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resetProductData().
|
inline |
Definition at line 57 of file ProductHolder.h.
References resetStatus_().
Referenced by edm::InputProductHolder::resetProductData_(), edm::ProducedProductHolder::resetProductData_(), edm::AliasProductHolder::resetProductData_(), and edm::AliasProductHolder::resetStatus_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by resetStatus().
|
inline |
Definition at line 107 of file ProductHolder.h.
References resolvedModuleLabel_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by resolvedModuleLabel().
|
inline |
Definition at line 49 of file ProductHolder.h.
References resolveProduct_().
Referenced by edm::AliasProductHolder::resolveProduct_(), and edm::NoProcessProductHolder::resolveProduct_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by resolveProduct().
|
inline |
Definition at line 122 of file ProductHolder.h.
References setProcessHistory_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProcessHistory().
|
inline |
Definition at line 61 of file ProductHolder.h.
References setProductDeleted_().
Referenced by edm::AliasProductHolder::setProductDeleted_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProductDeleted(), and unsafe_deleteProduct().
|
inline |
Definition at line 119 of file ProductHolder.h.
References setProvenance_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by setProvenance().
|
inline |
Definition at line 96 of file ProductHolder.h.
References singleProduct_().
Referenced by edm::Principal::readAllFromSourceAndMergeImmediately().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::ProducedProductHolder, and edm::InputProductHolder.
Referenced by singleProduct().
|
inline |
Definition at line 168 of file ProductHolder.h.
References swap_().
Referenced by edm::swap(), and edm::AliasProductHolder::swap_().
|
privatepure virtual |
Implemented in edm::NoProcessProductHolder, edm::AliasProductHolder, edm::SourceProductHolder, edm::UnscheduledProductHolder, edm::ScheduledProductHolder, and edm::InputProductHolder.
Referenced by swap().
void edm::ProductHolderBase::throwProductDeletedException | ( | ) | const |
Definition at line 14 of file ProductHolder.cc.
References branchDescription(), cppFunctionSkipper::exception, moduleLabel(), processName(), productInstanceName(), and edm::BranchDescription::unwrappedTypeID().
Referenced by edm::InputProductHolder::resolveProduct_(), edm::ScheduledProductHolder::resolveProduct_(), edm::UnscheduledProductHolder::resolveProduct_(), and edm::SourceProductHolder::resolveProduct_().
|
inline |
Definition at line 67 of file ProductHolder.h.
References getProductData(), setProductDeleted_(), and edm::ProductData::unsafe_resetProductData().
|
inlineprivate |
Definition at line 173 of file ProductHolder.h.
References getProductData(), and edm::ProductData::unsafe_wrapper().
Referenced by mergeTheProduct().
void edm::ProductHolderBase::write | ( | std::ostream & | os | ) | const |
Definition at line 358 of file ProductHolder.cc.
References productID(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by pkg.AbstractPkg::generate(), and edm::operator<<().