CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::AliasProductHolder Class Reference

#include <ProductHolder.h>

Inheritance diagram for edm::AliasProductHolder:
edm::ProductHolderBase

Public Types

typedef
ProducedProductHolder::ProductStatus 
ProductStatus
 
- Public Types inherited from edm::ProductHolderBase
enum  ResolveStatus { ProductFound, ProductNotFound, Ambiguous }
 

Public Member Functions

 AliasProductHolder (std::shared_ptr< BranchDescription const > bd, ProducedProductHolder &realProduct)
 
ProductStatusstatus () const
 
virtual ~AliasProductHolder ()
 
- Public Member Functions inherited from edm::ProductHolderBase
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
 
ProductHolderBaseoperator= (ProductHolderBase const &)=delete
 
std::string const & processName () const
 
WrapperBase const * product () const
 
WrapperBaseproduct ()
 
ProductData const & productData () const
 
ProductDataproductData ()
 
 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 override
 
virtual void checkType_ (WrapperBase const &prod) const override
 
virtual ProductData const & getProductData () const override
 
virtual ProductDatagetProductData () override
 
virtual void mergeProduct_ (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
 
virtual void mergeProduct_ (std::unique_ptr< WrapperBase > edp) const override
 
virtual bool onDemand_ () const override
 
virtual ProductProvenance const * productProvenancePtr_ () const override
 
virtual bool productUnavailable_ () const override
 
virtual bool productWasDeleted_ () const override
 
virtual bool putOrMergeProduct_ () const override
 
virtual void putProduct_ (std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const override
 
virtual void putProduct_ (std::unique_ptr< WrapperBase > edp) const override
 
virtual void resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd) override
 
virtual void resetProductData_ () override
 
virtual void resetStatus_ () override
 
virtual std::string const & resolvedModuleLabel_ () const override
 
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 setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
 
virtual bool singleProduct_ () const override
 
virtual void swap_ (ProductHolderBase &rhs) override
 

Private Attributes

std::shared_ptr
< BranchDescription const > 
bd_
 
ProducedProductHolderrealProduct_
 

Detailed Description

Definition at line 394 of file ProductHolder.h.

Member Typedef Documentation

Definition at line 396 of file ProductHolder.h.

Constructor & Destructor Documentation

edm::AliasProductHolder::AliasProductHolder ( std::shared_ptr< BranchDescription const >  bd,
ProducedProductHolder realProduct 
)
inlineexplicit

Definition at line 397 of file ProductHolder.h.

397 : ProductHolderBase(), realProduct_(realProduct), bd_(bd) {}
std::shared_ptr< BranchDescription const > bd_
ProducedProductHolder & realProduct_
edm::AliasProductHolder::~AliasProductHolder ( )
virtual

Definition at line 35 of file ProductHolder.cc.

35 {}

Member Function Documentation

virtual BranchDescription const& edm::AliasProductHolder::branchDescription_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 434 of file ProductHolder.h.

References bd_.

434 {return *bd_;}
std::shared_ptr< BranchDescription const > bd_
virtual void edm::AliasProductHolder::checkType_ ( WrapperBase const &  prod) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 415 of file ProductHolder.h.

References edm::ProductHolderBase::checkType(), and realProduct_.

void checkType(WrapperBase const &prod) const
ProducedProductHolder & realProduct_
virtual ProductData const& edm::AliasProductHolder::getProductData ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 416 of file ProductHolder.h.

References edm::ProductHolderBase::productData(), and realProduct_.

416 {return realProduct_.productData();}
ProductData const & productData() const
Definition: ProductHolder.h:41
ProducedProductHolder & realProduct_
virtual ProductData& edm::AliasProductHolder::getProductData ( )
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 417 of file ProductHolder.h.

References edm::ProductHolderBase::productData(), and realProduct_.

417 {return realProduct_.productData();}
ProductData const & productData() const
Definition: ProductHolder.h:41
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( std::unique_ptr< WrapperBase edp,
ProductProvenance const &  productProvenance 
) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 425 of file ProductHolder.h.

References edm::ProductHolderBase::mergeProduct(), eostools::move(), and realProduct_.

425  {
426  realProduct_.mergeProduct(std::move(edp), productProvenance);
427  }
def move
Definition: eostools.py:510
void mergeProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( std::unique_ptr< WrapperBase edp) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 428 of file ProductHolder.h.

References edm::ProductHolderBase::mergeProduct(), eostools::move(), and realProduct_.

428  {
430  }
def move
Definition: eostools.py:510
void mergeProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ProducedProductHolder & realProduct_
virtual bool edm::AliasProductHolder::onDemand_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 411 of file ProductHolder.h.

References edm::ProductHolderBase::onDemand(), and realProduct_.

411 {return realProduct_.onDemand();}
bool onDemand() const
Definition: ProductHolder.h:79
ProducedProductHolder & realProduct_
ProductProvenance const * edm::AliasProductHolder::productProvenancePtr_ ( ) const
overrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 416 of file ProductHolder.cc.

References edm::Provenance::productProvenance(), and edm::ProductHolderBase::provenance().

416  {
417  return provenance()->productProvenance();
418  }
ProductProvenance const * productProvenance() const
Definition: Provenance.cc:28
Provenance const * provenance() const
virtual bool edm::AliasProductHolder::productUnavailable_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 413 of file ProductHolder.h.

References edm::ProductHolderBase::productUnavailable(), and realProduct_.

ProducedProductHolder & realProduct_
bool productUnavailable() const
Definition: ProductHolder.h:73
virtual bool edm::AliasProductHolder::productWasDeleted_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 414 of file ProductHolder.h.

References edm::ProductHolderBase::productWasDeleted(), and realProduct_.

bool productWasDeleted() const
Definition: ProductHolder.h:82
ProducedProductHolder & realProduct_
virtual bool edm::AliasProductHolder::putOrMergeProduct_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 431 of file ProductHolder.h.

References edm::ProductHolderBase::putOrMergeProduct(), and realProduct_.

431  {
433  }
bool putOrMergeProduct() const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( std::unique_ptr< WrapperBase edp,
ProductProvenance const &  productProvenance 
) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 419 of file ProductHolder.h.

References eostools::move(), edm::ProductHolderBase::putProduct(), and realProduct_.

419  {
420  realProduct_.putProduct(std::move(edp), productProvenance);
421  }
def move
Definition: eostools.py:510
void putProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( std::unique_ptr< WrapperBase edp) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 422 of file ProductHolder.h.

References eostools::move(), edm::ProductHolderBase::putProduct(), and realProduct_.

422  {
424  }
def move
Definition: eostools.py:510
void putProduct(std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::resetBranchDescription_ ( std::shared_ptr< BranchDescription const >  bd)
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 435 of file ProductHolder.h.

References bd_.

435 {bd_ = bd;}
std::shared_ptr< BranchDescription const > bd_
void edm::AliasProductHolder::resetProductData_ ( )
overrideprivatevirtual
virtual void edm::AliasProductHolder::resetStatus_ ( )
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 412 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::resetStatus().

ProducedProductHolder & realProduct_
virtual std::string const& edm::AliasProductHolder::resolvedModuleLabel_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 436 of file ProductHolder.h.

References edm::ProductHolderBase::moduleLabel(), and realProduct_.

436 {return realProduct_.moduleLabel();}
std::string const & moduleLabel() const
ProducedProductHolder & realProduct_
virtual ProductData const* edm::AliasProductHolder::resolveProduct_ ( ResolveStatus resolveStatus,
Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 406 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::resolveProduct().

410  {return realProduct_.resolveProduct(resolveStatus, principal, skipCurrentProcess, sra, mcc);}
ProductData const * resolveProduct(ResolveStatus &resolveStatus, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
Definition: ProductHolder.h:49
ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setProcessHistory_ ( ProcessHistory const &  ph)
overrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 412 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), and edm::ProductData::setProcessHistory().

412  {
414  }
void setProcessHistory(ProcessHistory const &ph)
Definition: ProductData.h:59
ProductData const & productData() const
Definition: ProductHolder.h:41
virtual void edm::AliasProductHolder::setProductDeleted_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 418 of file ProductHolder.h.

References realProduct_, and edm::ProductHolderBase::setProductDeleted().

ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setProvenance_ ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
overrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 408 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), and edm::ProductData::setProvenance().

408  {
409  productData().setProvenance(provRetriever,ph,pid);
410  }
void setProvenance(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
Definition: ProductData.h:63
ProductData const & productData() const
Definition: ProductHolder.h:41
tuple pid
Definition: sysUtil.py:22
bool edm::AliasProductHolder::singleProduct_ ( ) const
overrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 425 of file ProductHolder.cc.

425  {
426  return true;
427  }
ProductStatus& edm::AliasProductHolder::status ( void  ) const
inline

Definition at line 399 of file ProductHolder.h.

References realProduct_, and edm::ProducedProductHolder::status().

399 {return realProduct_.status();}
ProductStatus & status() const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::swap_ ( ProductHolderBase rhs)
inlineoverrideprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 401 of file ProductHolder.h.

References bd_, realProduct_, edm::ProductHolderBase::swap(), and std::swap().

401  {
402  AliasProductHolder& other = dynamic_cast<AliasProductHolder&>(rhs);
403  realProduct_.swap(other.realProduct_);
404  std::swap(bd_, other.bd_);
405  }
AliasProductHolder(std::shared_ptr< BranchDescription const > bd, ProducedProductHolder &realProduct)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void swap(ProductHolderBase &rhs)
std::shared_ptr< BranchDescription const > bd_
ProducedProductHolder & realProduct_

Member Data Documentation

std::shared_ptr<BranchDescription const> edm::AliasProductHolder::bd_
private

Definition at line 444 of file ProductHolder.h.

Referenced by branchDescription_(), resetBranchDescription_(), and swap_().

ProducedProductHolder& edm::AliasProductHolder::realProduct_
private