CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | 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 bool hasProductCache () const =0
 
virtual std::auto_ptr
< RefHolderBase
holder () const =0
 
virtual ProductID id () const =0
 
virtual bool isAvailable () const =0
 
virtual bool isEqualTo (BaseHolder< T > const &rhs) const =0
 
virtual size_t key () const =0
 
virtual std::auto_ptr
< RefVectorHolderBase
makeVectorBaseHolder () const =0
 
virtual std::auto_ptr
< BaseVectorHolder< T > > 
makeVectorHolder () const =0
 
virtual void const * product () const =0
 
virtual EDProductGetter const * productGetter () const =0
 
void swap (BaseHolder &)
 
virtual ~BaseHolder ()
 

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

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

Definition at line 103 of file BaseHolder.h.

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

Definition at line 91 of file BaseHolder.h.

91  {
92  // Nothing to do.
93  }

Member Function Documentation

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 bool edm::reftobase::BaseHolder< T >::hasProductCache ( ) const
pure virtual
template<typename T>
virtual std::auto_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 size_t edm::reftobase::BaseHolder< T >::key ( ) const
pure virtual
template<typename T>
virtual std::auto_ptr<RefVectorHolderBase> edm::reftobase::BaseHolder< T >::makeVectorBaseHolder ( ) const
pure virtual
template<typename T>
virtual std::auto_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 97 of file BaseHolder.h.

97  {
98  // No data to assign.
99  return *this;
100  }
template<typename T>
virtual void const* edm::reftobase::BaseHolder< T >::product ( ) const
pure virtual
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 109 of file BaseHolder.h.

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

109  {
110  // nothing to do.
111  }