CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions
edm::reftobase::RefVectorHolderBase Class Referenceabstract

#include <RefVectorHolderBase.h>

Inheritance diagram for edm::reftobase::RefVectorHolderBase:
edm::reftobase::RefVectorHolder< REFV >

Classes

struct  const_iterator
 
struct  const_iterator_imp
 

Public Types

typedef size_t size_type
 
typedef RefHolderBase value_type
 

Public Member Functions

virtual const_iterator begin () const =0
 
virtual void clear ()=0
 
virtual RefVectorHolderBaseclone () const =0
 
virtual RefVectorHolderBasecloneEmpty () const =0
 
virtual bool empty () const =0
 
virtual const_iterator end () const =0
 
template<typename T >
RefToBase< TgetRef (size_t idx) const
 
virtual ProductID id () const =0
 
virtual bool isAvailable () const =0
 
virtual size_t keyForIndex (size_t idx) const =0
 
virtual EDProductGetter const * productGetter () const =0
 
virtual void push_back (RefHolderBase const *r)=0
 
virtual void reserve (size_type n)=0
 
virtual size_type size () const =0
 
void swap (RefVectorHolderBase &)
 
virtual ~RefVectorHolderBase ()
 

Private Member Functions

virtual std::shared_ptr< reftobase::RefHolderBaserefBase (size_t idx) const =0
 

Detailed Description

Definition at line 12 of file RefVectorHolderBase.h.

Member Typedef Documentation

Definition at line 15 of file RefVectorHolderBase.h.

Definition at line 16 of file RefVectorHolderBase.h.

Constructor & Destructor Documentation

virtual edm::reftobase::RefVectorHolderBase::~RefVectorHolderBase ( )
inlinevirtual

Definition at line 14 of file RefVectorHolderBase.h.

14 {}

Member Function Documentation

virtual const_iterator edm::reftobase::RefVectorHolderBase::begin ( ) const
pure virtual
virtual void edm::reftobase::RefVectorHolderBase::clear ( )
pure virtual
virtual RefVectorHolderBase* edm::reftobase::RefVectorHolderBase::clone ( ) const
pure virtual
virtual RefVectorHolderBase* edm::reftobase::RefVectorHolderBase::cloneEmpty ( ) const
pure virtual
virtual bool edm::reftobase::RefVectorHolderBase::empty ( ) const
pure virtual
virtual const_iterator edm::reftobase::RefVectorHolderBase::end ( ) const
pure virtual
template<typename T >
RefToBase< T > edm::reftobase::RefVectorHolderBase::getRef ( size_t  idx) const

Definition at line 169 of file RefVectorHolderBase.h.

References refBase().

169  {
170  std::shared_ptr<reftobase::RefHolderBase> rb = refBase(idx);
171  return RefToBase<T>(rb);
172  }
virtual std::shared_ptr< reftobase::RefHolderBase > refBase(size_t idx) const =0
virtual ProductID edm::reftobase::RefVectorHolderBase::id ( ) const
pure virtual
virtual bool edm::reftobase::RefVectorHolderBase::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::RefVectorHolder< REFV >.

Referenced by edm::reftobase::IndirectVectorHolder< T >::isAvailable().

virtual size_t edm::reftobase::RefVectorHolderBase::keyForIndex ( size_t  idx) const
pure virtual
virtual EDProductGetter const* edm::reftobase::RefVectorHolderBase::productGetter ( ) const
pure virtual
virtual void edm::reftobase::RefVectorHolderBase::push_back ( RefHolderBase const *  r)
pure virtual
virtual std::shared_ptr<reftobase::RefHolderBase> edm::reftobase::RefVectorHolderBase::refBase ( size_t  idx) const
privatepure virtual

Implemented in edm::reftobase::RefVectorHolder< REFV >.

Referenced by getRef().

virtual void edm::reftobase::RefVectorHolderBase::reserve ( size_type  n)
pure virtual

Implemented in edm::reftobase::RefVectorHolder< REFV >.

Referenced by swap().

virtual size_type edm::reftobase::RefVectorHolderBase::size ( ) const
pure virtual
void edm::reftobase::RefVectorHolderBase::swap ( RefVectorHolderBase )
inline