CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Attributes
edm::WrapperHolder Class Reference

#include <WrapperHolder.h>

Inheritance diagram for edm::WrapperHolder:
edm::WrapperOwningHolder

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 ()
 
 WrapperHolder (void const *wrapper, WrapperInterfaceBase const *interface)
 

Private Attributes

WrapperInterfaceBase const * interface_
 
void const * wrapper_
 

Detailed Description

Definition at line 15 of file WrapperHolder.h.

Constructor & Destructor Documentation

edm::WrapperHolder::WrapperHolder ( )

Definition at line 5 of file WrapperHolder.cc.

5 : wrapper_(), interface_(0) {}
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper_
Definition: WrapperHolder.h:90
edm::WrapperHolder::WrapperHolder ( void const *  wrapper,
WrapperInterfaceBase const *  interface 
)

Definition at line 7 of file WrapperHolder.cc.

7  :
10  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper_
Definition: WrapperHolder.h:90
WrapperInterfaceBase const * interface() const
Definition: WrapperHolder.h:80
void const * wrapper() const
Definition: WrapperHolder.h:76

Member Function Documentation

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().

68  {
69  return interface_->dynamicTypeInfo();
70  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
std::type_info const & dynamicTypeInfo() const
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_().

45  {
46  interface_->fillPtrVector(wrapper(), iToType, iIndicies, oPtr);
47  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper() const
Definition: WrapperHolder.h:76
void fillPtrVector(void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const
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->().

33  {
34  interface_->fillView(wrapper(), id, view, helpers);
35  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void fillView(void const *me, ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const
void const * wrapper() const
Definition: WrapperHolder.h:76
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().

53  {
55  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper() const
Definition: WrapperHolder.h:76
bool hasIsProductEqual(void const *me) const
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().

80  {
81  return interface_;
82  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
bool edm::WrapperHolder::isMergeable ( ) const
inline

Definition at line 49 of file WrapperHolder.h.

References interface_, edm::WrapperInterfaceBase::isMergeable(), and wrapper().

49  {
50  return interface_->isMergeable(wrapper());
51  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
bool isMergeable(void const *me) const
void const * wrapper() const
Definition: WrapperHolder.h:76
bool edm::WrapperHolder::isPresent ( ) const
inline
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().

60  {
61  return interface_->isProductEqual(wrapper(), newProduct);
62  }
bool isProductEqual(void const *me, void const *newProduct) const
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper() const
Definition: WrapperHolder.h:76
bool edm::WrapperHolder::isValid ( void  ) const
inline
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().

57  {
58  return interface_->mergeProduct(const_cast<void *>(wrapper()), newProduct);}
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
bool mergeProduct(void *me, void const *newProduct) const
void const * wrapper() const
Definition: WrapperHolder.h:76
void edm::WrapperHolder::reset ( void  )
inline

Definition at line 84 of file WrapperHolder.h.

References interface_, and wrapper_.

Referenced by edm::WrapperOwningHolder::reset().

84  {
85  interface_ = 0;
86  wrapper_ = 0;
87  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void const * wrapper_
Definition: WrapperHolder.h:90
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< reco::Muon >::getData_().

39  {
40  interface_->setPtr(wrapper(), iToType, iIndex, oPtr);
41  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
void setPtr(void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
void const * wrapper() const
Definition: WrapperHolder.h:76
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().

72  {
73  return interface_->wrappedTypeInfo();
74  }
WrapperInterfaceBase const * interface_
Definition: WrapperHolder.h:91
std::type_info const & wrappedTypeInfo() const
void const* edm::WrapperHolder::wrapper ( ) const
inline

Member Data Documentation

WrapperInterfaceBase const* edm::WrapperHolder::interface_
private
void const* edm::WrapperHolder::wrapper_
private

Definition at line 90 of file WrapperHolder.h.

Referenced by isValid(), reset(), and wrapper().