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 (boost::shared_ptr< ConstBranchDescription > bd, ProducedProductHolder &realProduct)
 
virtual ~AliasProductHolder ()
 
- Public Member Functions inherited from edm::ProductHolderBase
ConstBranchDescription const & branchDescription () const
 
void checkType (WrapperOwningHolder const &prod) const
 
void deleteProduct ()
 
void mergeProduct (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
 
void mergeProduct (WrapperOwningHolder const &edp) const
 
void mergeTheProduct (WrapperOwningHolder const &edp) const
 
std::string const & moduleLabel () const
 
bool onDemand () const
 
ProductHolderBaseoperator= (ProductHolderBase const &)=delete
 
std::string const & processName () const
 
boost::shared_ptr< void const > product () const
 
ProductData const & productData () const
 
ProductDataproductData ()
 
 ProductHolderBase ()
 
 ProductHolderBase (ProductHolderBase const &)=delete
 
ProductID const & productID () const
 
std::string const & productInstanceName () const
 
ProductProvenanceproductProvenancePtr () const
 
TypeID productType () const
 
bool productUnavailable () const
 
bool productWasDeleted () const
 
Provenanceprovenance () const
 
bool provenanceAvailable () const
 
bool putOrMergeProduct () const
 
void putProduct (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
 
void putProduct (WrapperOwningHolder const &edp) const
 
void reallyCheckType (WrapperOwningHolder const &prod) const
 
void resetBranchDescription (boost::shared_ptr< ConstBranchDescription > bd)
 
void resetProductData ()
 
void resetStatus ()
 
std::string const & resolvedModuleLabel () const
 
ProductData const * resolveProduct (ResolveStatus &resolveStatus, bool skipCurrentProcess) const
 
void setPrincipal (Principal *principal)
 
void setProcessHistoryID (ProcessHistoryID const &phid)
 
void setProductDeleted ()
 
void setProductProvenance (ProductProvenance const &prov) const
 
void setProvenance (boost::shared_ptr< BranchMapper > mapper, ProcessHistoryID const &phid, ProductID const &pid)
 
bool singleProduct () const
 
void swap (ProductHolderBase &rhs)
 
void throwProductDeletedException () const
 
WrapperHolder wrapper () const
 
void write (std::ostream &os) const
 
virtual ~ProductHolderBase ()
 

Private Member Functions

virtual ConstBranchDescription
const & 
branchDescription_ () const
 
virtual void checkType_ (WrapperOwningHolder const &prod) const
 
virtual ProductData const & getProductData () const
 
virtual ProductDatagetProductData ()
 
virtual void mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
 
virtual void mergeProduct_ (WrapperOwningHolder const &edp) const
 
virtual bool onDemand_ () const
 
virtual ProductProvenanceproductProvenancePtr_ () const
 
virtual bool productUnavailable_ () const
 
virtual bool productWasDeleted_ () const
 
virtual bool putOrMergeProduct_ () const
 
virtual void putProduct_ (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
 
virtual void putProduct_ (WrapperOwningHolder const &edp) const
 
virtual void resetBranchDescription_ (boost::shared_ptr< ConstBranchDescription > bd)
 
virtual void resetProductData_ ()
 
virtual void resetStatus_ ()
 
virtual std::string const & resolvedModuleLabel_ () const
 
virtual ProductData const * resolveProduct_ (ResolveStatus &resolveStatus, bool skipCurrentProcess) const
 
virtual void setPrincipal_ (Principal *principal)
 
virtual void setProcessHistoryID_ (ProcessHistoryID const &phid)
 
virtual void setProductDeleted_ ()
 
virtual void setProvenance_ (boost::shared_ptr< BranchMapper > mapper, ProcessHistoryID const &phid, ProductID const &pid)
 
virtual bool singleProduct_ () const
 
virtual ProductStatusstatus_ () const
 
virtual void swap_ (ProductHolderBase &rhs)
 

Private Attributes

boost::shared_ptr
< ConstBranchDescription
bd_
 
ProducedProductHolderrealProduct_
 

Detailed Description

Definition at line 379 of file ProductHolder.h.

Member Typedef Documentation

Definition at line 381 of file ProductHolder.h.

Constructor & Destructor Documentation

edm::AliasProductHolder::AliasProductHolder ( boost::shared_ptr< ConstBranchDescription bd,
ProducedProductHolder realProduct 
)
inlineexplicit

Definition at line 382 of file ProductHolder.h.

382 : ProductHolderBase(), realProduct_(realProduct), bd_(bd) {}
boost::shared_ptr< ConstBranchDescription > bd_
ProducedProductHolder & realProduct_
edm::AliasProductHolder::~AliasProductHolder ( )
virtual

Definition at line 35 of file ProductHolder.cc.

35 {}

Member Function Documentation

virtual ConstBranchDescription const& edm::AliasProductHolder::branchDescription_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 415 of file ProductHolder.h.

References bd_.

415 {return *bd_;}
boost::shared_ptr< ConstBranchDescription > bd_
virtual void edm::AliasProductHolder::checkType_ ( WrapperOwningHolder const &  prod) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 396 of file ProductHolder.h.

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

void checkType(WrapperOwningHolder const &prod) const
ProducedProductHolder & realProduct_
virtual ProductData const& edm::AliasProductHolder::getProductData ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 397 of file ProductHolder.h.

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

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

Implements edm::ProductHolderBase.

Definition at line 398 of file ProductHolder.h.

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

398 {return realProduct_.productData();}
ProductData const & productData() const
Definition: ProductHolder.h:41
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance productProvenance 
)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 406 of file ProductHolder.h.

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

406  {
407  realProduct_.mergeProduct(edp, productProvenance);
408  }
void mergeProduct(WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::mergeProduct_ ( WrapperOwningHolder const &  edp) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 409 of file ProductHolder.h.

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

409  {
411  }
void mergeProduct(WrapperOwningHolder const &edp, ProductProvenance &productProvenance)
ProducedProductHolder & realProduct_
virtual bool edm::AliasProductHolder::onDemand_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 391 of file ProductHolder.h.

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

391 {return realProduct_.onDemand();}
bool onDemand() const
Definition: ProductHolder.h:75
ProducedProductHolder & realProduct_
ProductProvenance * edm::AliasProductHolder::productProvenancePtr_ ( ) const
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 434 of file ProductHolder.cc.

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

434  {
435  return provenance()->productProvenance();
436  }
ProductProvenance * productProvenance() const
Definition: Provenance.h:51
Provenance * provenance() const
virtual bool edm::AliasProductHolder::productUnavailable_ ( ) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 394 of file ProductHolder.h.

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

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

Implements edm::ProductHolderBase.

Definition at line 395 of file ProductHolder.h.

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

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

Implements edm::ProductHolderBase.

Definition at line 412 of file ProductHolder.h.

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

412  {
414  }
bool putOrMergeProduct() const
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( WrapperOwningHolder const &  edp,
ProductProvenance const &  productProvenance 
)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 400 of file ProductHolder.h.

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

400  {
401  realProduct_.putProduct(edp, productProvenance);
402  }
void putProduct(WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::putProduct_ ( WrapperOwningHolder const &  edp) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 403 of file ProductHolder.h.

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

403  {
405  }
void putProduct(WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
ProducedProductHolder & realProduct_
virtual void edm::AliasProductHolder::resetBranchDescription_ ( boost::shared_ptr< ConstBranchDescription bd)
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 416 of file ProductHolder.h.

References bd_.

416 {bd_ = bd;}
boost::shared_ptr< ConstBranchDescription > bd_
void edm::AliasProductHolder::resetProductData_ ( )
privatevirtual
virtual void edm::AliasProductHolder::resetStatus_ ( )
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 393 of file ProductHolder.h.

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

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

Implements edm::ProductHolderBase.

Definition at line 417 of file ProductHolder.h.

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

417 {return realProduct_.moduleLabel();}
std::string const & moduleLabel() const
ProducedProductHolder & realProduct_
virtual ProductData const* edm::AliasProductHolder::resolveProduct_ ( ResolveStatus resolveStatus,
bool  skipCurrentProcess 
) const
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 390 of file ProductHolder.h.

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

390 {return realProduct_.resolveProduct(resolveStatus, skipCurrentProcess);}
ProductData const * resolveProduct(ResolveStatus &resolveStatus, bool skipCurrentProcess) const
Definition: ProductHolder.h:49
ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setPrincipal_ ( Principal principal)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 447 of file ProductHolder.cc.

447  {
448  }
void edm::AliasProductHolder::setProcessHistoryID_ ( ProcessHistoryID const &  phid)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 430 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), edm::ProductData::prov_, and edm::Provenance::setProcessHistoryID().

430  {
432  }
void setProcessHistoryID(ProcessHistoryID const &phid)
Definition: Provenance.h:86
Provenance prov_
Definition: ProductData.h:51
ProductData const & productData() const
Definition: ProductHolder.h:41
virtual void edm::AliasProductHolder::setProductDeleted_ ( )
inlineprivatevirtual

Implements edm::ProductHolderBase.

Definition at line 399 of file ProductHolder.h.

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

ProducedProductHolder & realProduct_
void edm::AliasProductHolder::setProvenance_ ( boost::shared_ptr< BranchMapper mapper,
ProcessHistoryID const &  phid,
ProductID const &  pid 
)
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 424 of file ProductHolder.cc.

References edm::ProductHolderBase::productData(), edm::ProductData::prov_, edm::Provenance::setProcessHistoryID(), edm::Provenance::setProductID(), and edm::Provenance::setStore().

424  {
426  productData().prov_.setStore(mapper);
428  }
void setProcessHistoryID(ProcessHistoryID const &phid)
Definition: Provenance.h:86
Provenance prov_
Definition: ProductData.h:51
void setStore(boost::shared_ptr< BranchMapper > store) const
Definition: Provenance.h:84
ProductData const & productData() const
Definition: ProductHolder.h:41
void setProductID(ProductID const &pid)
Definition: Provenance.h:92
bool edm::AliasProductHolder::singleProduct_ ( ) const
privatevirtual

Implements edm::ProductHolderBase.

Definition at line 443 of file ProductHolder.cc.

443  {
444  return true;
445  }
virtual ProductStatus& edm::AliasProductHolder::status_ ( ) const
inlineprivatevirtual

Definition at line 392 of file ProductHolder.h.

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

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

Implements edm::ProductHolderBase.

Definition at line 385 of file ProductHolder.h.

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

385  {
386  AliasProductHolder& other = dynamic_cast<AliasProductHolder&>(rhs);
387  realProduct_.swap(other.realProduct_);
388  std::swap(bd_, other.bd_);
389  }
boost::shared_ptr< ConstBranchDescription > bd_
AliasProductHolder(boost::shared_ptr< ConstBranchDescription > bd, ProducedProductHolder &realProduct)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
void swap(ProductHolderBase &rhs)
ProducedProductHolder & realProduct_

Member Data Documentation

boost::shared_ptr<ConstBranchDescription> edm::AliasProductHolder::bd_
private

Definition at line 426 of file ProductHolder.h.

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

ProducedProductHolder& edm::AliasProductHolder::realProduct_
private