CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions
edm::WrapperInterface< T > Class Template Reference

#include <Wrapper.h>

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

Public Types

typedef T value_type
 
typedef T wrapped_type
 

Public Member Functions

 WrapperInterface ()
 
virtual ~WrapperInterface ()
 
- Public Member Functions inherited from edm::WrapperInterfaceBase
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
 
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 ()
 

Static Public Member Functions

static std::type_info const & productTypeInfo ()
 
static std::type_info const & typeInfo ()
 

Private Member Functions

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

Static Private Member Functions

static Wrapper< T > const * typeCast (void const *me)
 
static Wrapper< T > * typeCast (void *me)
 

Detailed Description

template<typename T>
class edm::WrapperInterface< T >

Definition at line 27 of file Wrapper.h.

Member Typedef Documentation

template<typename T>
typedef T edm::WrapperInterface< T >::value_type

Definition at line 21 of file WrapperInterface.h.

template<typename T>
typedef T edm::WrapperInterface< T >::wrapped_type

Definition at line 22 of file WrapperInterface.h.

Constructor & Destructor Documentation

template<typename T>
edm::WrapperInterface< T >::WrapperInterface ( )
inline

Definition at line 24 of file WrapperInterface.h.

template<typename T>
virtual edm::WrapperInterface< T >::~WrapperInterface ( )
inlinevirtual

Definition at line 25 of file WrapperInterface.h.

25 {}

Member Function Documentation

template<typename T>
virtual void edm::WrapperInterface< T >::deleteProduct_ ( void const *  me) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 40 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

40  {
41  delete typeCast(me);
42  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual void edm::WrapperInterface< T >::do_fillPtrVector ( void const *  me,
std::type_info const &  iToType,
std::vector< unsigned long > const &  iIndicies,
std::vector< void const * > &  oPtr 
) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 58 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

61  {
62  typeCast(me)->fillPtrVector(iToType, iIndicies, oPtr);
63  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual void edm::WrapperInterface< T >::do_fillView ( void const *  me,
ProductID const &  id,
std::vector< void const * > &  pointers,
helper_vector_ptr helpers 
) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 44 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

47  {
48 
49  typeCast(me)->fillView(id, pointers, helpers);
50  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual void edm::WrapperInterface< T >::do_setPtr ( void const *  me,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 51 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

54  {
55  typeCast(me)->setPtr(iToType, iIndex, oPtr);
56  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual std::type_info const& edm::WrapperInterface< T >::dynamicTypeInfo_ ( ) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 81 of file WrapperInterface.h.

81  {
82  return typeid(T);
83  }
long double T
template<typename T>
virtual bool edm::WrapperInterface< T >::hasIsProductEqual_ ( void const *  me) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 69 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

69  {
70  return typeCast(me)->hasIsProductEqual();
71  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual bool edm::WrapperInterface< T >::isMergeable_ ( void const *  me) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 65 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

65  {
66  return typeCast(me)->isMergeable();
67  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual bool edm::WrapperInterface< T >::isPresent_ ( void const *  me) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 89 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

89  {
90  return typeCast(me)->isPresent();
91  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual bool edm::WrapperInterface< T >::isProductEqual_ ( void const *  me,
void const *  newProduct 
) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 77 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

77  {
78  return typeCast(me)->isProductEqual(typeCast(newProduct));
79  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
virtual bool edm::WrapperInterface< T >::mergeProduct_ ( void *  me,
void const *  newProduct 
) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 73 of file WrapperInterface.h.

References edm::WrapperInterface< T >::typeCast().

73  {
74  return typeCast(me)->mergeProduct(typeCast(newProduct));
75  }
static Wrapper< T > const * typeCast(void const *me)
template<typename T>
static std::type_info const& edm::WrapperInterface< T >::productTypeInfo ( )
inlinestatic

Definition at line 28 of file WrapperInterface.h.

28 {return typeid(T);}
long double T
template<typename T>
static Wrapper<T> const* edm::WrapperInterface< T >::typeCast ( void const *  me)
inlinestaticprivate
template<typename T>
static Wrapper<T>* edm::WrapperInterface< T >::typeCast ( void *  me)
inlinestaticprivate

Definition at line 36 of file WrapperInterface.h.

36  {
37  return static_cast<Wrapper<T>*>(me);
38  }
template<typename T>
static std::type_info const& edm::WrapperInterface< T >::typeInfo ( )
inlinestatic

Definition at line 29 of file WrapperInterface.h.

29 {return typeid(Wrapper<T>);}
template<typename T>
virtual std::type_info const& edm::WrapperInterface< T >::wrappedTypeInfo_ ( ) const
inlineprivatevirtual

Implements edm::WrapperInterfaceBase.

Definition at line 85 of file WrapperInterface.h.

85  {
86  return typeid(Wrapper<T>);
87  }