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 29 of file BaseHolder.h.

Constructor & Destructor Documentation

◆ BaseHolder() [1/2]

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

Definition at line 86 of file BaseHolder.h.

86 {}

◆ ~BaseHolder()

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

Definition at line 100 of file BaseHolder.h.

100  {
101  // nothing to do.
102  }

◆ BaseHolder() [2/2]

template<typename T >
edm::reftobase::BaseHolder< T >::BaseHolder ( BaseHolder< T > const &  other)
protected

Definition at line 89 of file BaseHolder.h.

89  {
90  // Nothing to do.
91  }

Member Function Documentation

◆ Class_Version()

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.

◆ clone()

template<typename T>
virtual BaseHolder<T>* edm::reftobase::BaseHolder< T >::clone ( ) const
pure virtual

◆ fillRefIfMyTypeMatches()

template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::fillRefIfMyTypeMatches ( RefHolderBase fillme,
std::string &  msg 
) const
pure virtual

◆ getPtr()

template<typename T>
virtual T const* edm::reftobase::BaseHolder< T >::getPtr ( ) const
pure virtual

◆ holder()

template<typename T>
virtual std::unique_ptr<RefHolderBase> edm::reftobase::BaseHolder< T >::holder ( ) const
pure virtual

◆ id()

template<typename T>
virtual ProductID edm::reftobase::BaseHolder< T >::id ( ) const
pure virtual

◆ isAvailable()

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().

◆ isEqualTo()

template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::isEqualTo ( BaseHolder< T > const &  rhs) const
pure virtual

◆ isTransient()

template<typename T>
virtual bool edm::reftobase::BaseHolder< T >::isTransient ( ) const
pure virtual

◆ key()

template<typename T>
virtual size_t edm::reftobase::BaseHolder< T >::key ( ) const
pure virtual

◆ makeVectorHolder()

template<typename T>
virtual std::unique_ptr<BaseVectorHolder<T> > edm::reftobase::BaseHolder< T >::makeVectorHolder ( ) const
pure virtual

◆ operator=()

template<typename T>
BaseHolder< T > & edm::reftobase::BaseHolder< T >::operator= ( BaseHolder< T > const &  rhs)
protected

Definition at line 94 of file BaseHolder.h.

94  {
95  // No data to assign.
96  return *this;
97  }

◆ productGetter()

template<typename T>
virtual EDProductGetter const* edm::reftobase::BaseHolder< T >::productGetter ( ) const
pure virtual

◆ swap()

template<typename T>
void edm::reftobase::BaseHolder< T >::swap ( BaseHolder< T > &  )

Definition at line 105 of file BaseHolder.h.

105  {
106  // nothing to do.
107  }

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