CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions

edm::WrapperInterface< T > Class Template Reference

#include <WrapperInterface.h>

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

List of all members.

Public Types

typedef T value_type
typedef T wrapped_type

Public Member Functions

 WrapperInterface ()
virtual ~WrapperInterface ()

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 19 of file WrapperInterface.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 ( ) [inline, virtual]

Definition at line 25 of file WrapperInterface.h.

{}

Member Function Documentation

template<typename T>
virtual void edm::WrapperInterface< T >::deleteProduct_ ( void const *  me) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 40 of file WrapperInterface.h.

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

                                                      {
      delete typeCast(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 [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 58 of file WrapperInterface.h.

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

                                                                      {
      typeCast(me)->fillPtrVector(iToType, iIndicies, oPtr);
    }
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 [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 44 of file WrapperInterface.h.

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

                                                               {
      
      typeCast(me)->fillView(id, pointers, helpers);
    }
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 [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 51 of file WrapperInterface.h.

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

                                                    {
      typeCast(me)->setPtr(iToType, iIndex, oPtr);
    }
template<typename T>
virtual std::type_info const& edm::WrapperInterface< T >::dynamicTypeInfo_ ( ) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 81 of file WrapperInterface.h.

                                                         {
      return typeid(T);
    }
template<typename T>
virtual bool edm::WrapperInterface< T >::hasIsProductEqual_ ( void const *  me) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 69 of file WrapperInterface.h.

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

                                                          {
      return typeCast(me)->hasIsProductEqual();
    }
template<typename T>
virtual bool edm::WrapperInterface< T >::isMergeable_ ( void const *  me) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 65 of file WrapperInterface.h.

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

                                                    {
      return typeCast(me)->isMergeable();
    }
template<typename T>
virtual bool edm::WrapperInterface< T >::isPresent_ ( void const *  me) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 89 of file WrapperInterface.h.

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

                                                  {
      return typeCast(me)->isPresent();
    }
template<typename T>
virtual bool edm::WrapperInterface< T >::isProductEqual_ ( void const *  me,
void const *  newProduct 
) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 77 of file WrapperInterface.h.

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

                                                                               {
      return typeCast(me)->isProductEqual(typeCast(newProduct));
    }
template<typename T>
virtual bool edm::WrapperInterface< T >::mergeProduct_ ( void *  me,
void const *  newProduct 
) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 73 of file WrapperInterface.h.

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

                                                                       {
      return typeCast(me)->mergeProduct(typeCast(newProduct));
    }
template<typename T>
static std::type_info const& edm::WrapperInterface< T >::productTypeInfo ( ) [inline, static]

Definition at line 28 of file WrapperInterface.h.

{return typeid(T);}
template<typename T>
static Wrapper<T>* edm::WrapperInterface< T >::typeCast ( void *  me) [inline, static, private]

Definition at line 36 of file WrapperInterface.h.

                                          {
      return static_cast<Wrapper<T>*>(me);
    }
template<typename T>
static Wrapper<T> const* edm::WrapperInterface< T >::typeCast ( void const *  me) [inline, static, private]
template<typename T>
static std::type_info const& edm::WrapperInterface< T >::typeInfo ( ) [inline, static]

Definition at line 29 of file WrapperInterface.h.

{return typeid(Wrapper<T>);}
template<typename T>
virtual std::type_info const& edm::WrapperInterface< T >::wrappedTypeInfo_ ( ) const [inline, private, virtual]

Implements edm::WrapperInterfaceBase.

Definition at line 85 of file WrapperInterface.h.

                                                         {
      return typeid(Wrapper<T>);
    }