#include <WrapperHolder.h>
Classes | |
struct | EDProductDeleter |
Public Member Functions | |
std::type_info const & | dynamicTypeInfo () const |
void | fillPtrVector (std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const |
void | fillView (ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const |
bool | hasIsProductEqual () const |
WrapperInterfaceBase const * | interface () const |
bool | isMergeable () const |
bool | isPresent () const |
bool | isProductEqual (void const *newProduct) const |
bool | isValid () const |
bool | mergeProduct (void const *newProduct) |
void | reset () |
void | setPtr (std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const |
std::type_info const & | wrappedTypeInfo () const |
void const * | wrapper () const |
WrapperHolder (void const *wrapper, WrapperInterfaceBase const *interface) | |
WrapperHolder () | |
Private Attributes | |
WrapperInterfaceBase const * | interface_ |
void const * | wrapper_ |
Definition at line 15 of file WrapperHolder.h.
edm::WrapperHolder::WrapperHolder | ( | ) |
Definition at line 5 of file WrapperHolder.cc.
: wrapper_(), interface_(0) {}
edm::WrapperHolder::WrapperHolder | ( | void const * | wrapper, |
WrapperInterfaceBase const * | interface | ||
) |
Definition at line 7 of file WrapperHolder.cc.
: wrapper_(wrapper), interface_(interface) { }
std::type_info const& edm::WrapperHolder::dynamicTypeInfo | ( | ) | const [inline] |
Definition at line 68 of file WrapperHolder.h.
References edm::WrapperInterfaceBase::dynamicTypeInfo(), and interface_.
Referenced by edm::RefCore::getProductPtr(), and edm::Group::reallyCheckType().
{ return interface_->dynamicTypeInfo(); }
void edm::WrapperHolder::fillPtrVector | ( | std::type_info const & | iToType, |
std::vector< unsigned long > const & | iIndicies, | ||
std::vector< void const * > & | oPtr | ||
) | const [inline] |
Definition at line 43 of file WrapperHolder.h.
References edm::WrapperInterfaceBase::fillPtrVector(), interface_, and wrapper().
Referenced by edm::PtrVectorBase::getProduct_().
{ interface_->fillPtrVector(wrapper(), iToType, iIndicies, oPtr); }
void edm::WrapperHolder::fillView | ( | ProductID const & | id, |
std::vector< void const * > & | view, | ||
helper_vector_ptr & | helpers | ||
) | const [inline] |
Definition at line 31 of file WrapperHolder.h.
References edm::WrapperInterfaceBase::fillView(), interface_, and wrapper().
Referenced by edm::RefToBaseProd< T >::operator->().
{ interface_->fillView(wrapper(), id, view, helpers); }
bool edm::WrapperHolder::hasIsProductEqual | ( | ) | const [inline] |
Definition at line 53 of file WrapperHolder.h.
References edm::WrapperInterfaceBase::hasIsProductEqual(), interface_, and wrapper().
Referenced by edm::Group::mergeTheProduct().
{ return interface_->hasIsProductEqual(wrapper()); }
WrapperInterfaceBase const* edm::WrapperHolder::interface | ( | ) | const [inline] |
Definition at line 80 of file WrapperHolder.h.
References interface_.
Referenced by BareRootProductGetter::getIt(), edm::BasicHandle::interface(), edm::ProducedGroup::putProduct_(), and edm::InputGroup::setProduct().
{ return interface_; }
bool edm::WrapperHolder::isMergeable | ( | ) | const [inline] |
Definition at line 49 of file WrapperHolder.h.
References interface_, edm::WrapperInterfaceBase::isMergeable(), and wrapper().
{ return interface_->isMergeable(wrapper()); }
bool edm::WrapperHolder::isPresent | ( | ) | const [inline] |
Definition at line 64 of file WrapperHolder.h.
References interface_, edm::WrapperInterfaceBase::isPresent(), and wrapper().
Referenced by fwlite::EventBase::getByLabelImpl(), fwlite::RunBase::getByLabelImpl(), fwlite::LuminosityBlockBase::getByLabelImpl(), edm::InputGroup::productUnavailable_(), edm::ProducedGroup::productUnavailable_(), edm::Group::provenanceAvailable(), and edm::InputGroup::setProduct().
{ return interface_->isPresent(wrapper()); }
bool edm::WrapperHolder::isProductEqual | ( | void const * | newProduct | ) | const [inline] |
Definition at line 60 of file WrapperHolder.h.
References interface_, edm::WrapperInterfaceBase::isProductEqual(), and wrapper().
Referenced by edm::Group::mergeTheProduct().
{ return interface_->isProductEqual(wrapper(), newProduct); }
bool edm::WrapperHolder::isValid | ( | void | ) | const [inline] |
Definition at line 27 of file WrapperHolder.h.
References interface_, and wrapper_.
Referenced by edm::Principal::checkUniquenessAndType(), edm::convert_handle(), BareRootProductGetter::createNewBuffer(), fwlite::DataGetterHelper::getByLabel(), fwlite::EventBase::getByLabelImpl(), fwlite::RunBase::getByLabelImpl(), fwlite::LuminosityBlockBase::getByLabelImpl(), fwlite::DataGetterHelper::getByProductID(), fwlite::MultiChainEvent::getByProductID(), edm::Ptr< pat::MET >::getData_(), BareRootProductGetter::getIt(), edm::PtrVectorBase::getProduct_(), edm::RefCore::getProductPtr(), edm::RefCore::isAvailable(), edm::OutputHandle::isValid(), edm::RefToBaseProd< T >::operator->(), edm::LuminosityBlockPrincipal::put(), edm::RunPrincipal::put(), edm::EventPrincipal::put(), edm::ProducedGroup::putProduct_(), and edm::InputGroup::setProduct().
{ return wrapper_ != 0 && interface_ != 0; }
bool edm::WrapperHolder::mergeProduct | ( | void const * | newProduct | ) | [inline] |
Definition at line 57 of file WrapperHolder.h.
References interface_, edm::WrapperInterfaceBase::mergeProduct(), and wrapper().
Referenced by edm::Group::mergeTheProduct().
{ return interface_->mergeProduct(const_cast<void *>(wrapper()), newProduct);}
void edm::WrapperHolder::reset | ( | void | ) | [inline] |
Reimplemented in edm::WrapperOwningHolder.
Definition at line 84 of file WrapperHolder.h.
References interface_, and wrapper_.
{ interface_ = 0; wrapper_ = 0; }
void edm::WrapperHolder::setPtr | ( | std::type_info const & | iToType, |
unsigned long | iIndex, | ||
void const *& | oPtr | ||
) | const [inline] |
Definition at line 37 of file WrapperHolder.h.
References interface_, edm::WrapperInterfaceBase::setPtr(), and wrapper().
Referenced by edm::Ptr< pat::MET >::getData_().
{ interface_->setPtr(wrapper(), iToType, iIndex, oPtr); }
std::type_info const& edm::WrapperHolder::wrappedTypeInfo | ( | ) | const [inline] |
Definition at line 72 of file WrapperHolder.h.
References interface_, and edm::WrapperInterfaceBase::wrappedTypeInfo().
Referenced by edm::convert_handle().
{ return interface_->wrappedTypeInfo(); }
void const* edm::WrapperHolder::wrapper | ( | ) | const [inline] |
Definition at line 76 of file WrapperHolder.h.
References wrapper_.
Referenced by edm::Principal::checkUniquenessAndType(), edm::convert_handle(), fillPtrVector(), fillView(), fwlite::DataGetterHelper::getByProductID(), BareRootProductGetter::getIt(), hasIsProductEqual(), isMergeable(), isPresent(), isProductEqual(), edm::BasicHandle::isValid(), mergeProduct(), edm::Group::mergeTheProduct(), edm::Event::put(), setPtr(), edm::OutputHandle::wrapper(), and edm::BasicHandle::wrapper().
{ return wrapper_; }
WrapperInterfaceBase const* edm::WrapperHolder::interface_ [private] |
Definition at line 91 of file WrapperHolder.h.
Referenced by dynamicTypeInfo(), fillPtrVector(), fillView(), hasIsProductEqual(), interface(), isMergeable(), isPresent(), isProductEqual(), isValid(), mergeProduct(), edm::WrapperOwningHolder::EDProductDeleter::operator()(), reset(), setPtr(), and wrappedTypeInfo().
void const* edm::WrapperHolder::wrapper_ [private] |
Definition at line 90 of file WrapperHolder.h.