CMS 3D CMS Logo

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

#include <WrapperInterfaceBase.h>

Inheritance diagram for edm::WrapperInterfaceBase:
edm::WrapperInterface< T >

Public Member Functions

void deleteProduct (void const *me) const
 
std::type_info const & dynamicTypeInfo () const
 
void fillPtrVector (void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const
 
void fillView (void const *me, ProductID const &id, std::vector< void const * > &view, helper_vector_ptr &helpers) const
 
bool hasIsProductEqual (void const *me) const
 
bool isMergeable (void const *me) const
 
bool isPresent (void const *me) const
 
bool isProductEqual (void const *me, void const *newProduct) const
 
bool mergeProduct (void *me, void const *newProduct) const
 
bool sameType (WrapperInterfaceBase const &other) const
 
void setPtr (void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
 
std::type_info const & wrappedTypeInfo () const
 
 WrapperInterfaceBase ()
 
virtual ~WrapperInterfaceBase ()
 

Private Member Functions

virtual void deleteProduct_ (void const *me) const =0
 
virtual void do_fillPtrVector (void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const =0
 
virtual void do_fillView (void const *me, ProductID const &id, std::vector< void const * > &pointers, helper_vector_ptr &helpers) const =0
 
virtual void do_setPtr (void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const =0
 
virtual std::type_info const & dynamicTypeInfo_ () const =0
 
virtual bool hasIsProductEqual_ (void const *me) const =0
 
virtual bool isMergeable_ (void const *me) const =0
 
virtual bool isPresent_ (void const *me) const =0
 
virtual bool isProductEqual_ (void const *me, void const *newProduct) const =0
 
virtual bool mergeProduct_ (void *me, void const *newProduct) const =0
 
virtual std::type_info const & wrappedTypeInfo_ () const =0
 

Detailed Description

Definition at line 20 of file WrapperInterfaceBase.h.

Constructor & Destructor Documentation

edm::WrapperInterfaceBase::WrapperInterfaceBase ( )

Definition at line 10 of file WrapperInterfaceBase.cc.

10 {}
edm::WrapperInterfaceBase::~WrapperInterfaceBase ( )
virtual

Definition at line 12 of file WrapperInterfaceBase.cc.

12 {}

Member Function Documentation

void edm::WrapperInterfaceBase::deleteProduct ( void const *  me) const
inline

Definition at line 25 of file WrapperInterfaceBase.h.

References deleteProduct_().

Referenced by edm::RootOutputTree::addBranch(), and edm::WrapperOwningHolder::EDProductDeleter::operator()().

25  {
26  deleteProduct_(me);
27  }
virtual void deleteProduct_(void const *me) const =0
virtual void edm::WrapperInterfaceBase::deleteProduct_ ( void const *  me) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by deleteProduct().

virtual void edm::WrapperInterfaceBase::do_fillPtrVector ( void const *  me,
std::type_info const &  iToType,
std::vector< unsigned long > const &  iIndicies,
std::vector< void const * > &  oPtr 
) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by fillPtrVector().

virtual void edm::WrapperInterfaceBase::do_fillView ( void const *  me,
ProductID const &  id,
std::vector< void const * > &  pointers,
helper_vector_ptr helpers 
) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by fillView().

virtual void edm::WrapperInterfaceBase::do_setPtr ( void const *  me,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by setPtr().

std::type_info const& edm::WrapperInterfaceBase::dynamicTypeInfo ( ) const
inline

Definition at line 64 of file WrapperInterfaceBase.h.

References dynamicTypeInfo_().

Referenced by edm::WrapperHolder::dynamicTypeInfo(), edm::getProductByTag(), and sameType().

64  {
65  return dynamicTypeInfo_();
66  }
virtual std::type_info const & dynamicTypeInfo_() const =0
virtual std::type_info const& edm::WrapperInterfaceBase::dynamicTypeInfo_ ( ) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by dynamicTypeInfo().

void edm::WrapperInterfaceBase::fillPtrVector ( void const *  me,
std::type_info const &  iToType,
std::vector< unsigned long > const &  iIndicies,
std::vector< void const * > &  oPtr 
) const

Definition at line 36 of file WrapperInterfaceBase.cc.

References do_fillPtrVector().

Referenced by edm::WrapperHolder::fillPtrVector().

39  {
40  do_fillPtrVector(me, iToType, iIndicies, oPtr);
41  }
virtual void do_fillPtrVector(void const *me, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr) const =0
void edm::WrapperInterfaceBase::fillView ( void const *  me,
ProductID const &  id,
std::vector< void const * > &  view,
helper_vector_ptr helpers 
) const

Definition at line 14 of file WrapperInterfaceBase.cc.

References do_fillView().

Referenced by edm::WrapperHolder::fillView(), and edm::Event::fillView_().

17  {
18  // This should never be called with non-empty arguments, or an
19  // invalid ID; any attempt to do so is an indication of a coding
20  // error.
21  assert(id.isValid());
22  assert(pointers.empty());
23  assert(helpers.get() == 0);
24 
25  do_fillView(me, id, pointers, helpers);
26  }
virtual void do_fillView(void const *me, ProductID const &id, std::vector< void const * > &pointers, helper_vector_ptr &helpers) const =0
bool edm::WrapperInterfaceBase::hasIsProductEqual ( void const *  me) const
inline

Definition at line 48 of file WrapperInterfaceBase.h.

References hasIsProductEqual_().

Referenced by edm::WrapperHolder::hasIsProductEqual().

48  {
49  return hasIsProductEqual_(me);
50  }
virtual bool hasIsProductEqual_(void const *me) const =0
virtual bool edm::WrapperInterfaceBase::hasIsProductEqual_ ( void const *  me) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by hasIsProductEqual().

bool edm::WrapperInterfaceBase::isMergeable ( void const *  me) const
inline

Definition at line 44 of file WrapperInterfaceBase.h.

References isMergeable_().

Referenced by edm::WrapperHolder::isMergeable().

44  {
45  return isMergeable_(me);
46  }
virtual bool isMergeable_(void const *me) const =0
virtual bool edm::WrapperInterfaceBase::isMergeable_ ( void const *  me) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by isMergeable().

bool edm::WrapperInterfaceBase::isPresent ( void const *  me) const
inline

Definition at line 60 of file WrapperInterfaceBase.h.

References isPresent_().

Referenced by edm::WrapperHolder::isPresent().

60  {
61  return isPresent_(me);
62  }
virtual bool isPresent_(void const *me) const =0
virtual bool edm::WrapperInterfaceBase::isPresent_ ( void const *  me) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by isPresent().

bool edm::WrapperInterfaceBase::isProductEqual ( void const *  me,
void const *  newProduct 
) const
inline

Definition at line 56 of file WrapperInterfaceBase.h.

References isProductEqual_().

Referenced by edm::WrapperHolder::isProductEqual().

56  {
57  return isProductEqual_(me, newProduct);
58  }
virtual bool isProductEqual_(void const *me, void const *newProduct) const =0
virtual bool edm::WrapperInterfaceBase::isProductEqual_ ( void const *  me,
void const *  newProduct 
) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by isProductEqual().

bool edm::WrapperInterfaceBase::mergeProduct ( void *  me,
void const *  newProduct 
) const
inline

Definition at line 52 of file WrapperInterfaceBase.h.

References mergeProduct_().

Referenced by edm::WrapperHolder::mergeProduct().

52  {
53  return mergeProduct_(me, newProduct);
54  }
virtual bool mergeProduct_(void *me, void const *newProduct) const =0
virtual bool edm::WrapperInterfaceBase::mergeProduct_ ( void *  me,
void const *  newProduct 
) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by mergeProduct().

bool edm::WrapperInterfaceBase::sameType ( WrapperInterfaceBase const &  other) const
inline

Definition at line 68 of file WrapperInterfaceBase.h.

References dynamicTypeInfo().

Referenced by edm::InputProductHolder::setProduct().

68  {
69  return other.dynamicTypeInfo()==dynamicTypeInfo();
70  }
std::type_info const & dynamicTypeInfo() const
void edm::WrapperInterfaceBase::setPtr ( void const *  me,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
) const

Definition at line 28 of file WrapperInterfaceBase.cc.

References do_setPtr().

Referenced by edm::WrapperHolder::setPtr().

31  {
32  do_setPtr(me, iToType, iIndex, oPtr);
33  }
virtual void do_setPtr(void const *me, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const =0
std::type_info const& edm::WrapperInterfaceBase::wrappedTypeInfo ( ) const
inline

Definition at line 72 of file WrapperInterfaceBase.h.

References wrappedTypeInfo_().

Referenced by edm::WrapperHolder::wrappedTypeInfo().

72  {
73  return wrappedTypeInfo_();
74  }
virtual std::type_info const & wrappedTypeInfo_() const =0
virtual std::type_info const& edm::WrapperInterfaceBase::wrappedTypeInfo_ ( ) const
privatepure virtual

Implemented in edm::WrapperInterface< T >.

Referenced by wrappedTypeInfo().