#include <ProductHolder.h>
Public Member Functions | |
ScheduledProductHolder (boost::shared_ptr< ConstBranchDescription > bd) | |
virtual | ~ScheduledProductHolder () |
Private Member Functions | |
virtual ProductData const & | getProductData () const |
virtual ProductData & | getProductData () |
virtual bool | onDemand_ () const |
virtual void | resetStatus_ () |
virtual ProductData const * | resolveProduct_ (ResolveStatus &resolveStatus, bool skipCurrentProcess) const |
virtual ProductStatus & | status_ () const |
virtual void | swap_ (ProductHolderBase &rhs) |
Private Attributes | |
ProductData | productData_ |
ProductStatus | theStatus_ |
Definition at line 304 of file ProductHolder.h.
edm::ScheduledProductHolder::ScheduledProductHolder | ( | boost::shared_ptr< ConstBranchDescription > | bd | ) | [inline, explicit] |
Definition at line 306 of file ProductHolder.h.
: ProducedProductHolder(), productData_(bd), theStatus_(NotRun) {}
edm::ScheduledProductHolder::~ScheduledProductHolder | ( | ) | [virtual] |
Definition at line 32 of file ProductHolder.cc.
{}
virtual ProductData const& edm::ScheduledProductHolder::getProductData | ( | ) | const [inline, private, virtual] |
Implements edm::ProductHolderBase.
Definition at line 317 of file ProductHolder.h.
References productData_.
{return productData_;}
virtual ProductData& edm::ScheduledProductHolder::getProductData | ( | ) | [inline, private, virtual] |
Implements edm::ProductHolderBase.
Definition at line 318 of file ProductHolder.h.
References productData_.
{return productData_;}
virtual bool edm::ScheduledProductHolder::onDemand_ | ( | ) | const [inline, private, virtual] |
virtual void edm::ScheduledProductHolder::resetStatus_ | ( | ) | [inline, private, virtual] |
Implements edm::ProductHolderBase.
Definition at line 315 of file ProductHolder.h.
References edm::ProducedProductHolder::NotRun, and theStatus_.
{theStatus_ = NotRun;}
ProductData const * edm::ScheduledProductHolder::resolveProduct_ | ( | ResolveStatus & | resolveStatus, |
bool | skipCurrentProcess | ||
) | const [private, virtual] |
Implements edm::ProductHolderBase.
Definition at line 57 of file ProductHolder.cc.
References edm::ProductHolderBase::product(), productData_, edm::ProductHolderBase::ProductFound, edm::ProductHolderBase::ProductNotFound, edm::ProductHolderBase::productWasDeleted(), edm::ProductHolderBase::throwProductDeletedException(), and edm::ProductHolderBase::wrapper().
{ if (!skipCurrentProcess) { if(productWasDeleted()) { throwProductDeletedException(); } if(product() && wrapper().isPresent()) { resolveStatus = ProductFound; return &productData_; } } resolveStatus = ProductNotFound; return nullptr; }
virtual ProductStatus& edm::ScheduledProductHolder::status_ | ( | ) | const [inline, private, virtual] |
Implements edm::ProducedProductHolder.
Definition at line 319 of file ProductHolder.h.
References theStatus_.
{return theStatus_;}
virtual void edm::ScheduledProductHolder::swap_ | ( | ProductHolderBase & | rhs | ) | [inline, private, virtual] |
Implements edm::ProductHolderBase.
Definition at line 309 of file ProductHolder.h.
References productData_, edm::ProductHolderBase::swap(), and theStatus_.
{ ScheduledProductHolder& other = dynamic_cast<ScheduledProductHolder&>(rhs); edm::swap(productData_, other.productData_); std::swap(theStatus_, other.theStatus_); }
Definition at line 321 of file ProductHolder.h.
Referenced by getProductData(), resolveProduct_(), and swap_().
ProductStatus edm::ScheduledProductHolder::theStatus_ [mutable, private] |
Definition at line 322 of file ProductHolder.h.
Referenced by resetStatus_(), status_(), and swap_().