#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 void | checkType_ (WrapperOwningHolder const &) const |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp) const |
virtual void | mergeProduct_ (WrapperOwningHolder const &edp, ProductProvenance &productProvenance) |
virtual bool | onDemand_ () const |
virtual ProductData & | productData () |
virtual ProductData const & | productData () const |
virtual bool | productUnavailable_ () const |
virtual bool | productWasDeleted_ () const |
virtual bool | putOrMergeProduct_ () const |
virtual void | putProduct_ (WrapperOwningHolder const &edp) const |
virtual void | putProduct_ (WrapperOwningHolder const &edp, ProductProvenance const &productProvenance) |
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 169 of file Group.h.
: Group(), productData_(bd), productIsUnavailable_(false), productHasBeenDeleted_(false) {}
virtual void edm::InputGroup::checkType_ | ( | WrapperOwningHolder const & | ) | const [inline, private, virtual] |
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 99 of file Group.cc.
References edm::Group::mergeTheProduct().
{ mergeTheProduct(edp); }
virtual bool edm::InputGroup::onDemand_ | ( | ) | const [inline, private, virtual] |
virtual ProductData& edm::InputGroup::productData | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 199 of file Group.h.
References productData_.
{return productData_;}
virtual ProductData const& edm::InputGroup::productData | ( | ) | const [inline, private, virtual] |
Implements edm::Group.
Definition at line 198 of file Group.h.
References productData_.
Referenced by setProduct().
{return productData_;}
bool edm::InputGroup::productIsUnavailable | ( | ) | const [inline] |
Definition at line 178 of file Group.h.
References productIsUnavailable_.
Referenced by productUnavailable_().
{return productIsUnavailable_;}
bool edm::InputGroup::productUnavailable_ | ( | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 160 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 197 of file Group.h.
References productHasBeenDeleted_.
{return productHasBeenDeleted_;}
bool edm::InputGroup::putOrMergeProduct_ | ( | ) | const [private, virtual] |
Implements edm::Group.
Definition at line 104 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 81 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 109 of file Group.cc.
References edm::Group::product(), and setProduct().
{ assert(!product()); setProduct(edp); }
virtual void edm::InputGroup::resetStatus | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 193 of file Group.h.
References productHasBeenDeleted_, and productIsUnavailable_.
{productIsUnavailable_ = false; productHasBeenDeleted_=false;}
void edm::InputGroup::setProduct | ( | WrapperOwningHolder const & | prod | ) | const |
Definition at line 142 of file Group.cc.
References edm::WrapperHolder::interface(), edm::WrapperHolder::isPresent(), edm::WrapperHolder::isValid(), edm::WrapperOwningHolder::product(), edm::Group::product(), productData(), setProductUnavailable(), and edm::ProductData::wrapper_.
Referenced by putProduct_().
{ assert (!product()); if(!prod.isValid() || !prod.isPresent()) { setProductUnavailable(); } assert(productData().getInterface() == prod.interface() || !prod.isValid()); productData().wrapper_ = prod.product(); }
virtual void edm::InputGroup::setProductDeleted | ( | ) | [inline, private, virtual] |
Implements edm::Group.
Definition at line 200 of file Group.h.
References productHasBeenDeleted_.
{productHasBeenDeleted_=true;}
void edm::InputGroup::setProductUnavailable | ( | ) | const [inline] |
Definition at line 179 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 182 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 202 of file Group.h.
Referenced by productData(), and swap_().
bool edm::InputGroup::productHasBeenDeleted_ [mutable, private] |
Definition at line 204 of file Group.h.
Referenced by productWasDeleted_(), resetStatus(), and setProductDeleted().
bool edm::InputGroup::productIsUnavailable_ [mutable, private] |
Definition at line 203 of file Group.h.
Referenced by productIsUnavailable(), resetStatus(), setProductUnavailable(), and swap_().