#include <PtrVectorBase.h>
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... | |
PtrVectorBase & | operator= (const PtrVectorBase &)=delete |
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=nullptr, EDProductGetter const *prodGetter=nullptr) | |
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 |
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_type > | indicies_ |
Description: Base class for PtrVector
Usage: This class defines the common behavior for the PtrVector template class instances
Definition at line 32 of file PtrVectorBase.h.
typedef unsigned long edm::PtrVectorBase::key_type |
Definition at line 34 of file PtrVectorBase.h.
Definition at line 35 of file PtrVectorBase.h.
|
inlineexplicit |
Definition at line 37 of file PtrVectorBase.h.
edm::PtrVectorBase::PtrVectorBase | ( | const PtrVectorBase & | iOther | ) |
Definition at line 39 of file PtrVectorBase.cc.
References utilities::cache(), and cachedItems_.
|
virtual |
Definition at line 37 of file PtrVectorBase.cc.
References cachedItems_.
|
protected |
Definition at line 35 of file PtrVectorBase.cc.
|
inline |
|
private |
Definition at line 156 of file PtrVectorBase.cc.
References cachedItems_, Exception, id(), edm::errors::InvalidReference, B2GTnPMonitor_cfi::item, and createJobs::tmp.
Referenced by void_begin(), and void_end().
|
inline |
Clear the PtrVector.
Definition at line 81 of file PtrVectorBase.h.
References cachedItems_, core_, and indicies_.
Referenced by ConvertedPhotonProducer::buildCollections(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), HiBremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), ReducedEGProducer::relinkCaloClusters(), and reco::PFSuperCluster::reset().
|
inline |
Is the RefVector empty.
Definition at line 72 of file PtrVectorBase.h.
References indicies_.
Referenced by Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), and ReducedEGProducer::relinkCaloClusters().
|
staticprivate |
Definition at line 186 of file PtrVectorBase.cc.
References edm::s_emptyCache.
Referenced by void_begin(), and void_end().
|
private |
Definition at line 105 of file PtrVectorBase.cc.
References cms::cuda::assert(), cachedItems_, Exception, hasCache(), indicies_, dqmdumpme::k, edm::errors::LogicError, product(), productGetter(), and typeInfo().
Referenced by isAvailable(), void_begin(), and void_end().
|
inline |
Definition at line 65 of file PtrVectorBase.h.
References cachedItems_.
Referenced by getProduct_(), isAvailable(), and makePtr().
|
inline |
Accessor for product ID.
Definition at line 60 of file PtrVectorBase.h.
References core_, and edm::RefCore::id().
Referenced by checkCachedItems().
bool edm::PtrVectorBase::isAvailable | ( | ) | const |
True if the data is in memory or is available in the Event No type checking is done.
Definition at line 83 of file PtrVectorBase.cc.
References cachedItems_, core_, getProduct_(), hasCache(), indicies_, edm::RefCore::isAvailable(), sistrip::SpyUtilities::isValid(), and productGetter().
|
inline |
Checks for non-null.
Definition at line 54 of file PtrVectorBase.h.
References core_, and edm::RefCore::isNonnull().
Referenced by isNull().
|
inline |
Checks for null.
Definition at line 50 of file PtrVectorBase.h.
References isNonnull().
Referenced by operator!().
|
inline |
Definition at line 104 of file PtrVectorBase.h.
References core_, and edm::RefCore::isTransient().
Referenced by makePtr().
|
inlineprotected |
Definition at line 132 of file PtrVectorBase.h.
References cachedItems_, hasCache(), indicies_, isTransient(), and productGetter().
|
inlineprotected |
Definition at line 144 of file PtrVectorBase.h.
References hasCache(), indicies_, isTransient(), and productGetter().
|
inline |
|
delete |
bool edm::PtrVectorBase::operator== | ( | PtrVectorBase const & | iRHS | ) | const |
Definition at line 170 of file PtrVectorBase.cc.
References core_, cond::serialization::equal(), and indicies_.
|
inline |
Definition at line 106 of file PtrVectorBase.h.
Referenced by getProduct_().
|
inline |
Accessor for product getter.
Definition at line 63 of file PtrVectorBase.h.
References core_, and edm::RefCore::productGetter().
Referenced by getProduct_(), isAvailable(), makePtr(), PATObjectCrossLinker::matchElectronToPhoton(), PATObjectCrossLinker::matchOneToMany(), and PATObjectCrossLinker::matchOneToVertices().
|
protected |
Definition at line 62 of file PtrVectorBase.cc.
References cachedItems_, core_, indicies_, and edm::RefCore::pushBackItem().
Referenced by edm::PtrVector< reco::CaloCluster >::push_back().
|
inline |
Reserve space for RefVector.
Definition at line 95 of file PtrVectorBase.h.
References cachedItems_, indicies_, and dqmiodumpmetadata::n.
Referenced by Multi5x5SuperClusterProducer::getClusterPtrVector(), and HGCalLayerClusterProducer::produce().
|
inline |
Definition at line 102 of file PtrVectorBase.h.
References core_, and edm::RefCore::setProductGetter().
|
inline |
Size of the RefVector.
Definition at line 75 of file PtrVectorBase.h.
References indicies_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), reco::PFMETProducerMVA::chargedEnFrac(), reco::SuperCluster::clustersSize(), NamedCandCombinerBase::combine(), reco::Conversion::EoverP(), reco::Conversion::EoverPrefittedTracks(), SCEnergyCorrectorSemiParm::getRegDataECALHLTV1(), SCEnergyCorrectorSemiParm::getRegDataECALV1(), SCEnergyCorrectorSemiParm::getRegDataHGCALHLTV1(), SCEnergyCorrectorSemiParm::getRegDataHGCALV1(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), HybridClusterAlgo::makeSuperClusters(), reco::operator<<(), and reco::SuperCluster::preshowerClustersSize().
|
protected |
swap
Definition at line 56 of file PtrVectorBase.cc.
References cachedItems_, core_, indicies_, trackingPlots::other, and edm::RefCore::swap().
Referenced by edm::PtrVector< reco::CaloCluster >::swap().
|
inlineprivatevirtual |
Reimplemented in edm::PtrVector< T >, edm::PtrVector< reco::PFCluster >, edm::PtrVector< CaloCluster >, edm::PtrVector< Candidate >, and edm::PtrVector< reco::CaloCluster >.
Definition at line 159 of file PtrVectorBase.h.
References cms::cuda::assert(), and funct::void.
Referenced by getProduct_().
|
inlineprotected |
Definition at line 116 of file PtrVectorBase.h.
References checkCachedItems(), emptyCache(), and getProduct_().
Referenced by edm::PtrVector< reco::CaloCluster >::begin().
|
inlineprotected |
Definition at line 123 of file PtrVectorBase.h.
References checkCachedItems(), emptyCache(), and getProduct_().
Referenced by edm::PtrVector< reco::CaloCluster >::end().
|
mutableprivate |
Definition at line 173 of file PtrVectorBase.h.
Referenced by checkCachedItems(), clear(), getProduct_(), hasCache(), isAvailable(), makePtr(), PtrVectorBase(), push_back_base(), reserve(), swap(), and ~PtrVectorBase().
|
private |
Definition at line 171 of file PtrVectorBase.h.
Referenced by clear(), id(), isAvailable(), isNonnull(), isTransient(), operator==(), productGetter(), push_back_base(), setProductGetter(), and swap().
|
private |
Definition at line 172 of file PtrVectorBase.h.
Referenced by capacity(), clear(), empty(), getProduct_(), isAvailable(), makePtr(), operator==(), push_back_base(), reserve(), size(), and swap().