CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
DataFormats_MuonReco::dictionary::edm::PtrVectorBase Class Reference

#include <classes.h>

Inheritance diagram for DataFormats_MuonReco::dictionary::edm::PtrVectorBase:
DataFormats_MuonReco::dictionary::edm::PtrVector< T >

Public Types

typedef unsigned long key_type
 
typedef key_type size_type
 

Public Member Functions

size_type capacity () const
 Capacity of the RefVector. More...
 
void clear ()
 Clear the PtrVector. More...
 
bool empty () const
 Is the RefVector empty. More...
 
bool hasCache () const
 
ProductID id () const
 Accessor for product ID. More...
 
bool isAvailable () const
 
bool isNonnull () const
 Checks for non-null. More...
 
bool isNull () const
 Checks for null. More...
 
bool isTransient () const
 
bool operator! () const
 Checks for null. More...
 
bool operator== (PtrVectorBase const &iRHS) const
 
void const * product () const
 
EDProductGetter const * productGetter () const
 Accessor for product getter. More...
 
 PtrVectorBase (ProductID const &productID, void const *prodPtr=0, EDProductGetter const *prodGetter=0)
 
 PtrVectorBase (const PtrVectorBase &)
 
void reserve (size_type n)
 Reserve space for RefVector. More...
 
void setProductGetter (EDProductGetter *iGetter) const
 
size_type size () const
 Size of the RefVector. More...
 
virtual ~PtrVectorBase ()
 

Protected Member Functions

template<typename TPtr >
TPtr makePtr (unsigned long iIndex) const
 
template<typename TPtr >
TPtr makePtr (std::vector< void const * >::const_iterator const iIt) const
 
 PtrVectorBase ()
 
void push_back_base (RefCore const &core, key_type iKey, void const *iData)
 
void swap (PtrVectorBase &other)
 swap More...
 
std::vector< void const * >
::const_iterator 
void_begin () const
 
std::vector< void const * >
::const_iterator 
void_end () const
 

Private Member Functions

bool checkCachedItems () const
 
void getProduct_ () const
 
PtrVectorBaseoperator= (const PtrVectorBase &)
 
virtual std::type_info const & typeInfo () const
 

Static Private Member Functions

static const std::vector< void
const * > & 
emptyCache ()
 

Private Attributes

std::atomic< std::vector< void
const * > * > 
cachedItems_
 
RefCore core_
 
std::vector< key_typeindicies_
 

Detailed Description

Description: Base class for PtrVector

Usage: This class defines the common behavior for the PtrVector template class instances

Definition at line 32 of file classes.h.

Member Typedef Documentation

Definition at line 35 of file classes.h.

Definition at line 36 of file classes.h.

Constructor & Destructor Documentation

DataFormats_MuonReco::dictionary::edm::PtrVectorBase::PtrVectorBase ( ProductID const &  productID,
void const *  prodPtr = 0,
EDProductGetter const *  prodGetter = 0 
)
inlineexplicit

Definition at line 38 of file classes.h.

DataFormats_MuonReco::dictionary::edm::PtrVectorBase::PtrVectorBase ( const PtrVectorBase )
virtual DataFormats_MuonReco::dictionary::edm::PtrVectorBase::~PtrVectorBase ( )
virtual
DataFormats_MuonReco::dictionary::edm::PtrVectorBase::PtrVectorBase ( )
protected

Member Function Documentation

size_type DataFormats_MuonReco::dictionary::edm::PtrVectorBase::capacity ( ) const
inline

Capacity of the RefVector.

Definition at line 81 of file classes.h.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::checkCachedItems ( ) const
private
void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::clear ( void  )
inline
bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::empty ( ) const
inline
static const std::vector<void const*>& DataFormats_MuonReco::dictionary::edm::PtrVectorBase::emptyCache ( )
staticprivate
void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::getProduct_ ( ) const
private
bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::hasCache ( ) const
inline

Definition at line 68 of file classes.h.

ProductID DataFormats_MuonReco::dictionary::edm::PtrVectorBase::id ( ) const
inline

Accessor for product ID.

Definition at line 63 of file classes.h.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::isAvailable ( ) const

True if the data is in memory or is available in the Event No type checking is done.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::isNonnull ( ) const
inline

Checks for non-null.

Definition at line 57 of file classes.h.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::isNull ( ) const
inline

Checks for null.

Definition at line 53 of file classes.h.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::isTransient ( ) const
inline

Definition at line 101 of file classes.h.

template<typename TPtr >
TPtr DataFormats_MuonReco::dictionary::edm::PtrVectorBase::makePtr ( unsigned long  iIndex) const
inlineprotected

Definition at line 131 of file classes.h.

template<typename TPtr >
TPtr DataFormats_MuonReco::dictionary::edm::PtrVectorBase::makePtr ( std::vector< void const * >::const_iterator const  iIt) const
inlineprotected

Definition at line 145 of file classes.h.

bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::operator! ( ) const
inline

Checks for null.

Definition at line 60 of file classes.h.

PtrVectorBase& DataFormats_MuonReco::dictionary::edm::PtrVectorBase::operator= ( const PtrVectorBase )
private
bool DataFormats_MuonReco::dictionary::edm::PtrVectorBase::operator== ( PtrVectorBase const &  iRHS) const
void const* DataFormats_MuonReco::dictionary::edm::PtrVectorBase::product ( ) const
inline

Definition at line 103 of file classes.h.

EDProductGetter const* DataFormats_MuonReco::dictionary::edm::PtrVectorBase::productGetter ( ) const
inline

Accessor for product getter.

Definition at line 66 of file classes.h.

void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::push_back_base ( RefCore const &  core,
key_type  iKey,
void const *  iData 
)
protected
void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::reserve ( size_type  n)
inline

Reserve space for RefVector.

Definition at line 96 of file classes.h.

void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::setProductGetter ( EDProductGetter iGetter) const
inline

Definition at line 99 of file classes.h.

size_type DataFormats_MuonReco::dictionary::edm::PtrVectorBase::size ( void  ) const
inline

Size of the RefVector.

Definition at line 78 of file classes.h.

void DataFormats_MuonReco::dictionary::edm::PtrVectorBase::swap ( PtrVectorBase other)
protected

swap

virtual std::type_info const& DataFormats_MuonReco::dictionary::edm::PtrVectorBase::typeInfo ( ) const
inlineprivatevirtual

Reimplemented in DataFormats_MuonReco::dictionary::edm::PtrVector< T >.

Definition at line 161 of file classes.h.

std::vector<void const*>::const_iterator DataFormats_MuonReco::dictionary::edm::PtrVectorBase::void_begin ( ) const
inlineprotected

Definition at line 115 of file classes.h.

std::vector<void const*>::const_iterator DataFormats_MuonReco::dictionary::edm::PtrVectorBase::void_end ( ) const
inlineprotected

Definition at line 122 of file classes.h.

Member Data Documentation

std::atomic<std::vector<void const*>*> DataFormats_MuonReco::dictionary::edm::PtrVectorBase::cachedItems_
mutableprivate

Definition at line 178 of file classes.h.

RefCore DataFormats_MuonReco::dictionary::edm::PtrVectorBase::core_
private

Definition at line 175 of file classes.h.

std::vector<key_type> DataFormats_MuonReco::dictionary::edm::PtrVectorBase::indicies_
private

Definition at line 176 of file classes.h.