![]() |
![]() |
#include <Group.h>
Public Member Functions | |
InputGroup (boost::shared_ptr< ConstBranchDescription > bd) | |
bool | productIsUnavailable () const |
void | setProduct (WrapperOwningHolder const &prod) const |
void | setProductUnavailable () const |
virtual | ~InputGroup () |
Private Member Functions | |
virtual ConstBranchDescription const & | branchDescription_ () const |
virtual void | checkType_ (WrapperOwningHolder const &) const |
virtual ProductData & | getProductData () |
virtual ProductData const & | getProductData () const |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp) const |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance) |
virtual bool | onDemand_ () 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 | resetStatus_ () |
virtual void | setProductDeleted_ () |
virtual void | swap_ (Group &rhs) |
Private Attributes | |
ProductData | productData_ |
bool | productHasBeenDeleted_ |
bool | productIsUnavailable_ |
edm::InputGroup::InputGroup | ( | boost::shared_ptr< ConstBranchDescription > | bd | ) | [inline, explicit] |
Definition at line 186 of file Group.h.
: Group(), productData_(bd), productIsUnavailable_(false), productHasBeenDeleted_(false) {}
virtual ConstBranchDescription const& edm::InputGroup::branchDescription_ | ( | ) | const [inline, private, virtual] |
Implements edm::Group.
Definition at line 218 of file Group.h.
References edm::ProductData::branchDescription(), and edm::Group::productData().
{return *productData().branchDescription();}
virtual void edm::InputGroup::checkType_ | ( | WrapperOwningHolder const & | ) | const [inline, private, virtual] |
virtual ProductData& edm::InputGroup::getProductData | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 216 of file Group.h.
References productData_.
{return productData_;}
virtual ProductData const& edm::InputGroup::getProductData | ( | ) | const [inline, private, virtual] |
Implements edm::Group.
Definition at line 215 of file Group.h.
References productData_.
{return productData_;}
void edm::InputGroup::mergeProduct_ | ( | WrapperOwningHolder const & | edp, |
ProductProvenance & | productProvenance | ||
) | [private, virtual] |
void edm::InputGroup::mergeProduct_ | ( | WrapperOwningHolder const & | edp | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 100 of file Group.cc.
References edm::Group::mergeTheProduct().
{ mergeTheProduct(edp); }
virtual bool edm::InputGroup::onDemand_ | ( | ) | const [inline, private, virtual] |
bool edm::InputGroup::productIsUnavailable | ( | ) | const [inline] |
Definition at line 195 of file Group.h.
References productIsUnavailable_.
Referenced by productUnavailable_().
{return productIsUnavailable_;}
bool edm::InputGroup::productUnavailable_ | ( | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 161 of file Group.cc.
References edm::WrapperHolder::isPresent(), edm::Group::product(), productIsUnavailable(), setProductUnavailable(), and edm::Group::wrapper().
{ if(productIsUnavailable()) { return true; } // If there is a product, we know if it is real or a dummy. if(product()) { bool unavailable = !(wrapper().isPresent()); if(unavailable) { setProductUnavailable(); } return unavailable; } return false; }
virtual bool edm::InputGroup::productWasDeleted_ | ( | ) | const [inline, private, virtual] |
Implements edm::Group.
Definition at line 214 of file Group.h.
References productHasBeenDeleted_.
{return productHasBeenDeleted_;}
bool edm::InputGroup::putOrMergeProduct_ | ( | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 105 of file Group.cc.
References edm::Group::product().
{ return(!product()); }
void edm::InputGroup::putProduct_ | ( | WrapperOwningHolder const & | edp, |
ProductProvenance const & | productProvenance | ||
) | [private, virtual] |
Implements edm::Group.
Definition at line 82 of file Group.cc.
References edm::Group::product(), edm::Group::provenance(), setProduct(), and edm::Group::setProductProvenance().
{ assert(!product()); assert(!provenance()->productProvenanceValid()); setProductProvenance(productProvenance); assert(provenance()->productProvenanceValid()); setProduct(edp); }
void edm::InputGroup::putProduct_ | ( | WrapperOwningHolder const & | edp | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 110 of file Group.cc.
References edm::Group::product(), and setProduct().
{ assert(!product()); setProduct(edp); }
virtual void edm::InputGroup::resetBranchDescription_ | ( | boost::shared_ptr< ConstBranchDescription > | bd | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 219 of file Group.h.
References edm::Group::productData(), and edm::ProductData::resetBranchDescription().
{productData().resetBranchDescription(bd);}
virtual void edm::InputGroup::resetStatus_ | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 210 of file Group.h.
References productHasBeenDeleted_, and productIsUnavailable_.
{productIsUnavailable_ = false; productHasBeenDeleted_=false;}
void edm::InputGroup::setProduct | ( | WrapperOwningHolder const & | prod | ) | const |
Definition at line 143 of file Group.cc.
References edm::ProductData::getInterface(), edm::WrapperHolder::interface(), edm::WrapperHolder::isPresent(), edm::WrapperHolder::isValid(), edm::WrapperOwningHolder::product(), edm::Group::product(), edm::Group::productData(), edm::WrapperInterfaceBase::sameType(), setProductUnavailable(), and edm::ProductData::wrapper_.
Referenced by putProduct_().
{ assert (!product()); if(!prod.isValid() || !prod.isPresent()) { setProductUnavailable(); } assert(!prod.isValid() || productData().getInterface()->sameType(*prod.interface())); productData().wrapper_ = prod.product(); }
virtual void edm::InputGroup::setProductDeleted_ | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 217 of file Group.h.
References productHasBeenDeleted_.
{productHasBeenDeleted_ = true;}
void edm::InputGroup::setProductUnavailable | ( | ) | const [inline] |
Definition at line 196 of file Group.h.
References productIsUnavailable_.
Referenced by productUnavailable_(), and setProduct().
{productIsUnavailable_ = true;}
virtual void edm::InputGroup::swap_ | ( | Group & | rhs | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 199 of file Group.h.
References productData_, productIsUnavailable_, and edm::Group::swap().
{ InputGroup& other = dynamic_cast<InputGroup&>(rhs); edm::swap(productData_, other.productData_); std::swap(productIsUnavailable_, other.productIsUnavailable_); }
ProductData edm::InputGroup::productData_ [private] |
Definition at line 221 of file Group.h.
Referenced by getProductData(), and swap_().
bool edm::InputGroup::productHasBeenDeleted_ [mutable, private] |
Definition at line 223 of file Group.h.
Referenced by productWasDeleted_(), resetStatus_(), and setProductDeleted_().
bool edm::InputGroup::productIsUnavailable_ [mutable, private] |
Definition at line 222 of file Group.h.
Referenced by productIsUnavailable(), resetStatus_(), setProductUnavailable(), and swap_().