CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
edm::OwnVector< T, P > Class Template Reference

#include <OwnVector.h>

Classes

class  const_iterator
 
class  iterator
 
struct  Ordering
 

Public Types

typedef std::vector< T * > base
 
typedef T const & const_reference
 
typedef Tpointer
 
typedef P policy_type
 
typedef Treference
 
typedef base::size_type size_type
 
typedef T value_type
 

Public Member Functions

reference back ()
 
const_reference back () const
 
iterator begin ()
 
const_iterator begin () const
 
void clear ()
 
base const & data () const
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
iterator erase (iterator pos)
 
iterator erase (iterator first, iterator last)
 
void fillPtrVector (std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptrs) const
 
void fillView (ProductID const &id, std::vector< void const * > &pointers, FillViewHelperVector &helpers) const
 
reference front ()
 
const_reference front () const
 
template<typename D >
void insert (const_iterator i, D *&d)
 
template<typename D >
void insert (const_iterator i, D *const &d)
 
template<typename D >
void insert (const_iterator i, std::unique_ptr< D > d)
 
void insert (const_iterator i, T const &valueToCopy)
 
bool is_back_safe () const
 
OwnVector< T, P > & operator= (OwnVector< T, P > const &)
 
reference operator[] (size_type)
 
const_reference operator[] (size_type) const
 
 OwnVector ()
 
 OwnVector (size_type)
 
 OwnVector (OwnVector const &)
 
void pop_back ()
 
template<typename D >
void push_back (D *&d)
 
template<typename D >
void push_back (D *const &d)
 
template<typename D >
void push_back (std::unique_ptr< D > d)
 
void push_back (T const &valueToCopy)
 
void reserve (size_t)
 
void reverse ()
 
template<typename D >
void set (size_t i, D *&d)
 
template<typename D >
void set (size_t i, D *const &d)
 
template<typename D >
void set (size_t i, std::unique_ptr< D > d)
 
void set (size_t i, T const &valueToCopy)
 
void setPtr (std::type_info const &toType, unsigned long index, void const *&ptr) const
 
void shrink_to_fit ()
 
size_type size () const
 
template<typename S >
void sort (S s)
 
void sort ()
 
void swap (OwnVector< T, P > &other)
 
 ~OwnVector ()
 

Static Public Member Functions

static short Class_Version ()
 

Private Member Functions

void destroy ()
 

Static Private Member Functions

template<typename O >
static Ordering< O > ordering (O const &comp)
 

Private Attributes

base data_
 

Detailed Description

template<typename T, typename P = ClonePolicy<T>>
class edm::OwnVector< T, P >

Definition at line 24 of file OwnVector.h.

Member Typedef Documentation

template<typename T, typename P = ClonePolicy<T>>
typedef std::vector<T*> edm::OwnVector< T, P >::base

Definition at line 29 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef T const& edm::OwnVector< T, P >::const_reference

Definition at line 37 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef T* edm::OwnVector< T, P >::pointer

Definition at line 35 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef P edm::OwnVector< T, P >::policy_type

Definition at line 38 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef T& edm::OwnVector< T, P >::reference

Definition at line 36 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef base::size_type edm::OwnVector< T, P >::size_type

Definition at line 33 of file OwnVector.h.

template<typename T, typename P = ClonePolicy<T>>
typedef T edm::OwnVector< T, P >::value_type

Definition at line 34 of file OwnVector.h.

Constructor & Destructor Documentation

template<typename T , typename P >
edm::OwnVector< T, P >::OwnVector ( )
inline

Definition at line 201 of file OwnVector.h.

Referenced by edm::OwnVector< T, P >::OwnVector().

201  : data_() {
202  }
template<typename T , typename P >
edm::OwnVector< T, P >::OwnVector ( size_type  n)
inline
template<typename T, typename P = ClonePolicy<T>>
edm::OwnVector< T, P >::OwnVector ( OwnVector< T, P > const &  )
template<typename T , typename P >
edm::OwnVector< T, P >::~OwnVector ( )
inline

Definition at line 223 of file OwnVector.h.

References edm::OwnVector< T, P >::destroy().

223  {
224  destroy();
225  }
void destroy()
Definition: OwnVector.h:433

Member Function Documentation

template<typename T , typename P >
OwnVector< T, P >::reference edm::OwnVector< T, P >::back ( )
inline

Definition at line 395 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, edm::errors::NullPointerError, mps_fire::result, and edm::Exception::throwThis().

Referenced by SeedFromProtoTrack::init(), SeedCombiner::produce(), TrackListMerger::produce(), DTCombinatorialPatternReco::reconstruct(), DTCombinatorialExtendedPatternReco::reconstruct(), and edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().

395  {
396  T* result = data_.back();
397  if (result == nullptr) {
399  "In OwnVector::back() we have intercepted an attempt to dereference a null pointer\n"
400  "Since OwnVector is allowed to contain null pointers, you much assure that the\n"
401  "pointer at the end of the collection is not null before calling back()\n"
402  "if you wish to avoid this exception.\n"
403  "Consider using OwnVector::is_back_safe()\n");
404  }
405  return *data_.back();
406  }
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
Definition: EDMException.cc:83
long double T
template<typename T , typename P >
OwnVector< T, P >::const_reference edm::OwnVector< T, P >::back ( ) const
inline

Definition at line 409 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, edm::errors::NullPointerError, mps_fire::result, and edm::Exception::throwThis().

409  {
410  T* result = data_.back();
411  if (result == 0) {
413  "In OwnVector::back() we have intercepted an attempt to dereference a null pointer\n"
414  "Since OwnVector is allowed to contain null pointers, you much assure that the\n"
415  "pointer at the end of the collection is not null before calling back()\n"
416  "if you wish to avoid this exception.\n"
417  "Consider using OwnVector::is_back_safe()\n");
418  }
419  return *data_.back();
420  }
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
Definition: EDMException.cc:83
long double T
template<typename T , typename P >
OwnVector< T, P >::iterator edm::OwnVector< T, P >::begin ( void  )
inline
template<typename T , typename P >
OwnVector< T, P >::const_iterator edm::OwnVector< T, P >::begin ( void  ) const
inline

Definition at line 254 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

254  {
255  return const_iterator(data_.begin());
256  }
template<typename T, typename P = ClonePolicy<T>>
static short edm::OwnVector< T, P >::Class_Version ( )
inlinestatic

Definition at line 180 of file OwnVector.h.

182 :
183  void destroy() noexcept;
void destroy()
Definition: OwnVector.h:433
#define noexcept
template<typename T , typename P >
void edm::OwnVector< T, P >::clear ( void  )
inline
template<typename T , typename P >
OwnVector< T, P >::base const & edm::OwnVector< T, P >::data ( ) const
inline
template<typename T , typename P >
void edm::OwnVector< T, P >::destroy ( )
inlineprivate

Definition at line 433 of file OwnVector.h.

References b, edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, and mps_fire::i.

Referenced by edm::OwnVector< T, P >::clear(), and edm::OwnVector< T, P >::~OwnVector().

433  {
434  typename base::const_iterator b = data_.begin(), e = data_.end();
435  for(typename base::const_iterator i = b; i != e; ++ i)
436  delete * i;
437  }
double b
Definition: hdecay.h:120
template<typename T , typename P >
bool edm::OwnVector< T, P >::empty ( ) const
inline
template<typename T , typename P >
OwnVector< T, P >::iterator edm::OwnVector< T, P >::end ( void  )
inline
template<typename T , typename P >
OwnVector< T, P >::const_iterator edm::OwnVector< T, P >::end ( void  ) const
inline

Definition at line 259 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

259  {
260  return const_iterator(data_.end());
261  }
template<typename T , typename P >
OwnVector< T, P >::iterator edm::OwnVector< T, P >::erase ( iterator  pos)

Definition at line 451 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::iterator::i.

Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().

451  {
452  delete * pos.i;
453  return iterator(data_.erase(pos.i));
454  }
template<typename T , typename P >
OwnVector< T, P >::iterator edm::OwnVector< T, P >::erase ( iterator  first,
iterator  last 
)

Definition at line 457 of file OwnVector.h.

References b, edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, edm::OwnVector< T, P >::iterator::i, and mps_fire::i.

457  {
458  typename base::iterator b = first.i, e = last.i;
459  for(typename base::iterator i = b; i != e; ++ i)
460  delete * i;
461  return iterator(data_.erase(b, e));
462  }
double b
Definition: hdecay.h:120
T first(std::pair< T, U > const &p)
template<typename T , typename P >
void edm::OwnVector< T, P >::fillPtrVector ( std::type_info const &  toType,
std::vector< unsigned long > const &  indices,
std::vector< void const * > &  ptrs 
) const
inline

Definition at line 554 of file OwnVector.h.

References edm::detail::reallyfillPtrVector().

Referenced by edm::fillPtrVector(), and edm::OwnVector< reco::reco::PFBlockElement >::reverse().

556  {
557  detail::reallyfillPtrVector(*this, toType, indices, ptrs);
558  }
void reallyfillPtrVector(COLLECTION const &coll, std::type_info const &iToType, std::vector< unsigned long > const &iIndicies, std::vector< void const * > &oPtr)
Definition: fillPtrVector.h:38
template<typename T, typename P = ClonePolicy<T>>
void edm::OwnVector< T, P >::fillView ( ProductID const &  id,
std::vector< void const * > &  pointers,
FillViewHelperVector helpers 
) const
template<typename T , typename P >
OwnVector< T, P >::reference edm::OwnVector< T, P >::front ( )
inline
template<typename T , typename P >
OwnVector< T, P >::const_reference edm::OwnVector< T, P >::front ( ) const
inline

Definition at line 428 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

428  {
429  return *data_.front();
430  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::insert ( const_iterator  i,
D *&  d 
)
inline
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::insert ( const_iterator  i,
D *const &  d 
)
inline
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::insert ( const_iterator  i,
std::unique_ptr< D >  d 
)
inline

Definition at line 370 of file OwnVector.h.

References edm::OwnVector< T, P >::const_iterator::base_iter(), and edm::OwnVector< T, P >::data_.

Referenced by BeautifulSoup.PageElement::append().

370  {
371  data_.insert(it.base_iter(), d.release());
372  }
template<typename T, typename P >
void edm::OwnVector< T, P >::insert ( const_iterator  i,
T const &  valueToCopy 
)
inline

Definition at line 375 of file OwnVector.h.

References edm::OwnVector< T, P >::const_iterator::base_iter(), clone(), and edm::OwnVector< T, P >::data_.

Referenced by BeautifulSoup.PageElement::append().

375  {
376  data_.insert(it.base_iter(), policy_type::clone(d));
377  }
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
template<typename T , typename P >
bool edm::OwnVector< T, P >::is_back_safe ( ) const
inline

Definition at line 390 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().

390  {
391  return data_.back() != 0;
392  }
template<typename T, typename P>
OwnVector< T, P > & edm::OwnVector< T, P >::operator= ( OwnVector< T, P > const &  o)
inline

Definition at line 228 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, noexcept, edm::OwnVector< T, P >::swap(), and groupFilesInBlocks::temp.

228  {
229  OwnVector<T,P> temp(o);
230  swap(temp);
231  return *this;
232  }
void swap(OwnVector< T, P > &other)
Definition: OwnVector.h:475
template<typename T , typename P >
OwnVector< T, P >::reference edm::OwnVector< T, P >::operator[] ( size_type  n)
inline

Definition at line 274 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and gen::n.

274  {
275  return *data_[n];
276  }
template<typename T , typename P >
OwnVector< T, P >::const_reference edm::OwnVector< T, P >::operator[] ( size_type  n) const
inline

Definition at line 279 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and gen::n.

279  {
280  return *data_[n];
281  }
template<typename T, typename P = ClonePolicy<T>>
template<typename O >
static Ordering<O> edm::OwnVector< T, P >::ordering ( O const &  comp)
inlinestaticprivate

Definition at line 194 of file OwnVector.h.

Referenced by edm::OwnVector< T, P >::sort().

194  {
195  return Ordering<O>(comp);
196  }
template<typename T , typename P >
void edm::OwnVector< T, P >::pop_back ( )
inline

Definition at line 382 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().

382  {
383  // We have to delete the pointed-to thing, before we squeeze it
384  // out of the vector...
385  delete data_.back();
386  data_.pop_back();
387  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::push_back ( D *&  d)
inline

Definition at line 290 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

Referenced by reco::fitHelper::Adder< edm::OwnVector< T > >::add(), reco::CompositeCandidate::addDaughter(), MuonToSimAssociatorByHits::associateMuons(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), MuonErrorMatrixAdjuster::attachRecHits(), SeedFromGenericPairOrTriplet::buildSeed(), SeedForPhotonConversion1Leg::buildSeed(), SeedFromConsecutiveHitsCreator::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeedBool(), RPCSeedOverlapper::CheckOverlap(), Traj2TrackHits::copy(), RPCSeedPattern::createFakeSeed(), MuonSeedFromRecHits::createSeed(), MuonSeedCreator::createSeed(), RPCSeedPattern::createSeed(), OutInConversionSeedFinder::createSeed(), CosmicMuonSeedGenerator::createSeed(), InOutConversionSeedFinder::createSeed(), CSCSegtoRPC::CSCSegtoRPC(), PFRecoTauDiscriminationByIsolation::discriminate(), OutsideInMuonSeeder::doLayer(), DTSegtoRPC::DTSegtoRPC(), SiStripElectronAlgo::findElectron(), SiStripElectronSeedGenerator::findSeedsFromCluster(), SeedFromNuclearInteraction::hits(), CosmicLayerPairs::init(), MuonTrackLoader::loadTracks(), CalibrationTrackSelectorFromDetIdList::makeCandidate(), reco::modules::CosmicTrackSplitter::makeCandidate(), reco::modules::TrackerTrackHitFilter::makeCandidate(), CosmicSeedCreator::makeSeed(), SETSeedFinder::makeSeed(), TSGForOI::makeSeedsFromHits(), TSGForOIFromL2::makeSeedsFromHits(), TSGForOIFromL2::makeSeedsWithoutHits(), SiStripRecHitMatcher::match(), TrackMerger::merge(), GlobalTrackerMuonAlignment::muonFitter(), ElectronSeedGenerator::prepareElTrackSeed(), PFAlgo::processBlock(), SeedCombiner::produce(), MuonReducedTrackExtraProducer::produce(), DTSegment4DT0Corrector::produce(), MuonReSeeder::produce(), TrackListMerger::produce(), SETMuonSeedProducer::produce(), TrackCandidateProducer::produce(), TrackCandidateTopBottomHitFilter::produce(), TrajectorySeedFromMuonProducer::produce(), ConvBremSeedProducer::produce(), L2MuonSeedGeneratorFromL1T::produce(), L2MuonSeedGenerator::produce(), TrackerToMuonPropagator::produce(), CSCOverlapsTrackPreparation::produce(), TrajectorySeedProducer::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), TSGForRoadSearch::pushTrajectorySeed(), DTNoDriftAlgo::reconstruct(), RPCRecHitBaseAlgo::reconstruct(), ME0RecHitBaseAlgo::reconstruct(), GEMRecHitBaseAlgo::reconstruct(), DTRecHitBaseAlgo::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTRefitAndCombineReco4D::reconstruct(), DTCombinatorialPatternReco::reconstruct(), DTCombinatorialExtendedPatternReco::reconstruct(), DTMeantimerPatternReco::reconstruct(), PFPhotonAlgo::RunPFPhoton(), SeedFromProtoTrack::SeedFromProtoTrack(), SeedGeneratorForCRack::seeds(), SeedGeneratorForCosmics::seeds(), SimpleCosmicBONSeeder::seeds(), edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit(), SiTrackerMultiRecHit::SiTrackerMultiRecHit(), TrackMerger::sortByHitPosition(), FastTrackerRecHitSplitter::split(), Traj2TrackHits::split(), TSGFromPropagation::trackerSeeds(), FastTSGFromPropagation::trackerSeeds(), GlobalTrackerMuonAlignment::trackFitter(), TracktoRPC::TracktoRPC(), PFBenchmarkAlgo::vector_add(), and MuonTrackLoader::~MuonTrackLoader().

290  {
291  // C++ does not yet support rvalue references, so d should only be
292  // able to bind to an lvalue.
293  // This should be called only for lvalues.
294  data_.push_back(d);
295  d = nullptr;
296  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::push_back ( D *const &  d)
inline

Definition at line 300 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

300  {
301 
302  // C++ allows d to be bound to an lvalue or rvalue. But the other
303  // signature should be a better match for an lvalue (because it
304  // does not require an lvalue->rvalue conversion). Thus this
305  // signature should only be chosen for rvalues.
306  data_.push_back(d);
307  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::push_back ( std::unique_ptr< D >  d)
inline

Definition at line 311 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

311  {
312  data_.push_back(d.release());
313  }
template<typename T, typename P >
void edm::OwnVector< T, P >::push_back ( T const &  valueToCopy)
inline

Definition at line 316 of file OwnVector.h.

References clone(), and edm::OwnVector< T, P >::data_.

316  {
317  data_.push_back(policy_type::clone(d));
318  }
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
template<typename T , typename P >
void edm::OwnVector< T, P >::reserve ( size_t  n)
inline
template<typename T, typename P = ClonePolicy<T>>
void edm::OwnVector< T, P >::reverse ( )
inline

Definition at line 159 of file OwnVector.h.

Referenced by cms::CosmicTrackFinder::produce().

template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::set ( size_t  i,
D *&  d 
)
inline

Definition at line 322 of file OwnVector.h.

References edmIntegrityCheck::d, edm::OwnVector< T, P >::data_, and mps_fire::i.

Referenced by pat::PATObject< ObjectType >::addUserDataObject_().

322  {
323  // see push_back for documentation
324  if (d == data_[i]) return;
325  delete data_[i];
326  data_[i] = d;
327  d = 0;
328  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::set ( size_t  i,
D *const &  d 
)
inline

Definition at line 332 of file OwnVector.h.

References edmIntegrityCheck::d, edm::OwnVector< T, P >::data_, and mps_fire::i.

332  {
333  // see push_back for documentation
334  if (d == data_[i]) return;
335  delete data_[i];
336  data_[i] = d;
337  }
template<typename T , typename P >
template<typename D >
void edm::OwnVector< T, P >::set ( size_t  i,
std::unique_ptr< D >  d 
)
inline

Definition at line 341 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and mps_fire::i.

341  {
342  if (d.get() == data_[i]) return;
343  delete data_[i];
344  data_[i] = d.release();
345  }
template<typename T, typename P >
void edm::OwnVector< T, P >::set ( size_t  i,
T const &  valueToCopy 
)
inline

Definition at line 348 of file OwnVector.h.

References clone(), edm::OwnVector< T, P >::data_, and mps_fire::i.

348  {
349  if (&d == data_[i]) return;
350  delete data_[i];
352  }
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
template<typename T , typename P >
void edm::OwnVector< T, P >::setPtr ( std::type_info const &  toType,
unsigned long  index,
void const *&  ptr 
) const
inline

Definition at line 535 of file OwnVector.h.

Referenced by edm::OwnVector< reco::reco::PFBlockElement >::reverse(), and edm::setPtr().

537  {
538  detail::reallySetPtr<OwnVector<T,P> >(*this, toType, index, ptr);
539  }
template<typename T, typename P = ClonePolicy<T>>
void edm::OwnVector< T, P >::shrink_to_fit ( )
inline

Definition at line 128 of file OwnVector.h.

Referenced by Traj2TrackHits::operator()().

128  {
129  data_.shrink_to_fit();
130  }
template<typename T , typename P >
OwnVector< T, P >::size_type edm::OwnVector< T, P >::size ( void  ) const
inline

Definition at line 264 of file OwnVector.h.

References edm::OwnVector< T, P >::data_.

Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), ZMassHistogrammer::analyze(), ZHistogrammer::analyze(), myFastSimVal::analyze(), ZMuMuAnalyzer::analyze(), ZMuMuAnalyzer_cynematics::analyze(), DQMPFCandidateAnalyzer::analyze(), MuonToSimAssociatorByHits::associateMuons(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), PFRecoTauAlgorithm::buildPFTau(), FWPFBlockProxyBuilder::buildViewType(), RPCSeedOverlapper::CheckOverlap(), PFRecoTauDiscriminationByIsolation::discriminate(), DTSegtoRPC::DTSegtoRPC(), ZToMuMuFilter::filter(), JetMatchingTools::getGenParticle(), RPCSeedOverlapper::isShareHit(), TSGForOI::makeSeedsFromHits(), TSGForOIFromL2::makeSeedsFromHits(), SiStripRecHitConverterAlgorithm::match(), GlobalTrackerMuonAlignment::muonFitter(), TrajectorySeed::nHits(), reco::CompositeCandidate::numberOfDaughters(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), edm::OwnVector< T, P >::OwnVector(), PFBlockAlgo::packLinks(), PFAlgo::processBlock(), CandOneToManyDeltaRMatcher::produce(), MuonReducedTrackExtraProducer::produce(), FastTrackerRecHitMaskProducer::produce(), DTRecSegment4DProducer::produce(), DTRecHitProducer::produce(), DTRecSegment2DProducer::produce(), DTRecSegment2DExtendedProducer::produce(), FakeTrackProducer< T >::produce(), TrackCandidateTopBottomHitFilter::produce(), PFEGammaProducer::produce(), TrackingRecHitProducer::produce(), TrackerToMuonPropagator::produce(), CSCOverlapsTrackPreparation::produce(), TrajectorySeedProducer::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), PFAlgo::reconstructParticles(), AnalyticalTrackSelector::run(), PFPhotonAlgo::RunPFPhoton(), PFElectronAlgo::SetLinks(), SiTrackerMultiRecHit::sharesInput(), edm::OwnVector< T, P >::swap(), pat::Jet::tagInfoByType(), GlobalTrackerMuonAlignment::trackFitter(), and OutInConversionTrackFinder::tracks().

264  {
265  return data_.size();
266  }
template<typename T , typename P >
template<typename S >
void edm::OwnVector< T, P >::sort ( S  s)

Definition at line 465 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::ordering().

Referenced by PFBenchmarkAlgo::vector_sort().

465  {
466  std::sort(data_.begin(), data_.end(), ordering(comp));
467  }
static Ordering< O > ordering(O const &comp)
Definition: OwnVector.h:194
template<typename T , typename P >
void edm::OwnVector< T, P >::sort ( )

Definition at line 470 of file OwnVector.h.

References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::ordering().

Referenced by edm::OwnVector< reco::reco::PFBlockElement >::reverse().

470  {
471  std::sort(data_.begin(), data_.end(), ordering(std::less<value_type>()));
472  }
static Ordering< O > ordering(O const &comp)
Definition: OwnVector.h:194
template<typename T, typename P>
void edm::OwnVector< T, P >::swap ( OwnVector< T, P > &  other)
inline

Member Data Documentation

template<typename T, typename P = ClonePolicy<T>>
base edm::OwnVector< T, P >::data_
private