CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
edm::reftobase::BaseHolder< T > Class Template Referenceabstract

#include <BaseHolder.h>

Inheritance diagram for edm::reftobase::BaseHolder< T >:
edm::reftobase::Holder< T, REF > edm::reftobase::IndirectHolder< T >

Public Member Functions

 BaseHolder ()
 
virtual BaseHolder< T > * clone () const =0
 
virtual bool fillRefIfMyTypeMatches (RefHolderBase &fillme, std::string &msg) const =0
 
virtual T const * getPtr () const =0
 
virtual std::unique_ptr< RefHolderBaseholder () const =0
 
virtual ProductID id () const =0
 
virtual bool isAvailable () const =0
 
virtual bool isEqualTo (BaseHolder< T > const &rhs) const =0
 
virtual bool isTransient () const =0
 
virtual size_t key () const =0
 
virtual std::unique_ptr< BaseVectorHolder< T > > makeVectorHolder () const =0
 
virtual EDProductGetter const * productGetter () const =0
 
void swap (BaseHolder &)
 
virtual ~BaseHolder ()
 

Static Public Member Functions

static short Class_Version ()
 

Protected Member Functions

 BaseHolder (BaseHolder const &other)
 
BaseHolderoperator= (BaseHolder const &rhs)
 

Detailed Description

template<typename T>
class edm::reftobase::BaseHolder< T >

Definition at line 28 of file BaseHolder.h.

Constructor & Destructor Documentation

template<typename T >
edm::reftobase::BaseHolder< T >::BaseHolder ( )

Definition at line 86 of file BaseHolder.h.

86  {
87  }
template<typename T >
edm::reftobase::BaseHolder< T >::~BaseHolder ( )
virtual

Definition at line 102 of file BaseHolder.h.

102  {
103  // nothing to do.
104  }
template<typename T >
edm::reftobase::BaseHolder< T >::BaseHolder ( BaseHolder< T > const &  other)
protected

Definition at line 90 of file BaseHolder.h.

90  {
91  // Nothing to do.
92  }

Member Function Documentation

template<typename T>
static short edm::reftobase::BaseHolder< T >::Class_Version ( )
inlinestatic

Definition at line 71 of file BaseHolder.h.

73 :
74  // We want the following called only by derived classes.
template<typename T>
virtual BaseHolder<T>* edm::reftobase::BaseHolder< T >::clone ( ) const
pure virtual
template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::fillRefIfMyTypeMatches ( RefHolderBase fillme,
std::string &  msg 
) const
pure virtual
template<typename T>
virtual T const* edm::reftobase::BaseHolder< T >::getPtr ( ) const
pure virtual
template<typename T>
virtual std::unique_ptr<RefHolderBase> edm::reftobase::BaseHolder< T >::holder ( ) const
pure virtual
template<typename T>
virtual ProductID edm::reftobase::BaseHolder< T >::id ( ) const
pure virtual
template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::isAvailable ( ) const
pure virtual

Checks if product collection is in memory or available in the Event. No type checking is done.

Implemented in edm::reftobase::IndirectHolder< T >, and edm::reftobase::Holder< T, REF >.

Referenced by edm::RefToBase< TrajectorySeed >::isAvailable().

template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::isEqualTo ( BaseHolder< T > const &  rhs) const
pure virtual
template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::isTransient ( ) const
pure virtual
template<typename T>
virtual size_t edm::reftobase::BaseHolder< T >::key ( ) const
pure virtual
template<typename T>
virtual std::unique_ptr<BaseVectorHolder<T> > edm::reftobase::BaseHolder< T >::makeVectorHolder ( ) const
pure virtual
template<typename T>
BaseHolder< T > & edm::reftobase::BaseHolder< T >::operator= ( BaseHolder< T > const &  rhs)
protected

Definition at line 96 of file BaseHolder.h.

96  {
97  // No data to assign.
98  return *this;
99  }
template<typename T>
virtual EDProductGetter const* edm::reftobase::BaseHolder< T >::productGetter ( ) const
pure virtual
template<typename T>
void edm::reftobase::BaseHolder< T >::swap ( BaseHolder< T > &  )

Definition at line 108 of file BaseHolder.h.

Referenced by edm::reftobase::IndirectHolder< T >::swap(), and edm::reftobase::swap().

108  {
109  // nothing to do.
110  }