CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

edm::WrapperHolder Class Reference

#include <WrapperHolder.h>

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

List of all members.

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_

Detailed Description

Definition at line 15 of file WrapperHolder.h.


Constructor & Destructor Documentation

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.


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::ProductHolderBase::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::ProductHolderBase::mergeTheProduct().

                                   {
      return interface_->hasIsProductEqual(wrapper());
    }
WrapperInterfaceBase const* edm::WrapperHolder::interface ( ) const [inline]
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]
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::ProductHolderBase::mergeTheProduct().

                                                      {
      return interface_->isProductEqual(wrapper(), newProduct);
    }
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::ProductHolderBase::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]

Member Data Documentation

void const* edm::WrapperHolder::wrapper_ [private]

Definition at line 90 of file WrapperHolder.h.

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