CMS 3D CMS Logo

edm::PtrVector< T > Class Template Reference

#include <DataFormats/Common/interface/PtrVector.h>

Inheritance diagram for edm::PtrVector< T >:

edm::PtrVectorBase

List of all members.

Public Types

typedef PtrVectorItr< T > const_iterator
typedef PtrVectorItr< T > iterator
typedef Ptr< T > value_type

Public Member Functions

const_iterator begin () const
const_iterator end () const
PtrVectoroperator= (PtrVector const &rhs)
Ptr< T > operator[] (unsigned long const iIndex) const
template<typename U>
 PtrVector (PtrVector< U > const &iOther)
 PtrVector (PtrVector< T > const &iOther)
 PtrVector ()
template<typename U>
void push_back (Ptr< U > const &iPtr)
void push_back (Ptr< T > const &iPtr)
void swap (PtrVector &other)

Private Member Functions

Ptr< T > fromItr (std::vector< void const * >::const_iterator const &iItr) const
std::type_info const & typeInfo () const

Friends

class PtrVectorItr< T >


Detailed Description

template<typename T>
class edm::PtrVector< T >

Definition at line 102 of file PtrVector.h.


Member Typedef Documentation

template<typename T>
typedef PtrVectorItr<T> edm::PtrVector< T >::const_iterator

Definition at line 106 of file PtrVector.h.

template<typename T>
typedef PtrVectorItr<T> edm::PtrVector< T >::iterator

Definition at line 107 of file PtrVector.h.

template<typename T>
typedef Ptr<T> edm::PtrVector< T >::value_type

Definition at line 108 of file PtrVector.h.


Constructor & Destructor Documentation

template<typename T>
edm::PtrVector< T >::PtrVector (  )  [inline]

Definition at line 111 of file PtrVector.h.

00111 {}

template<typename T>
edm::PtrVector< T >::PtrVector ( PtrVector< T > const &  iOther  )  [inline]

Definition at line 112 of file PtrVector.h.

00112 : PtrVectorBase(iOther) {}

template<typename T>
template<typename U>
edm::PtrVector< T >::PtrVector ( PtrVector< U > const &  iOther  )  [inline]

Definition at line 115 of file PtrVector.h.

00115                                          : PtrVectorBase(iOther) {
00116       BOOST_STATIC_ASSERT( (boost::is_base_of<T, U>::value) );
00117     }


Member Function Documentation

template<typename T>
const_iterator edm::PtrVector< T >::begin (  )  const [inline]

Definition at line 125 of file PtrVector.h.

00125                                  {
00126       return const_iterator(this->void_begin(),
00127                             this);
00128     }

template<typename T>
const_iterator edm::PtrVector< T >::end (  )  const [inline]

Definition at line 130 of file PtrVector.h.

00130                                {
00131       return const_iterator(this->void_end(),
00132                             this);
00133     }

template<typename T>
Ptr<T> edm::PtrVector< T >::fromItr ( std::vector< void const * >::const_iterator const &  iItr  )  const [inline, private]

Definition at line 167 of file PtrVector.h.

00167                                                                            {
00168       return this->makePtr<Ptr<T> >(iItr);
00169     }

template<typename T>
PtrVector& edm::PtrVector< T >::operator= ( PtrVector< T > const &  rhs  )  [inline]

Definition at line 155 of file PtrVector.h.

00155                                                {
00156       PtrVector temp(rhs);
00157       this->swap(temp);
00158       return *this;
00159     }

template<typename T>
Ptr<T> edm::PtrVector< T >::operator[] ( unsigned long const   iIndex  )  const [inline]

Definition at line 121 of file PtrVector.h.

00121                                                          {
00122       return this->makePtr<Ptr<T> >(iIndex);
00123     }

template<typename T>
template<typename U>
void edm::PtrVector< T >::push_back ( Ptr< U > const &  iPtr  )  [inline]

Definition at line 143 of file PtrVector.h.

00143                                        {
00144       //check that types are assignable
00145       BOOST_STATIC_ASSERT( (boost::is_base_of<T, U>::value) );
00146       this->push_back_base(iPtr.refCore(),
00147                            iPtr.key(),
00148                            iPtr.hasCache() ? iPtr.operator->() : static_cast<void const*>(0));
00149     }

template<typename T>
void edm::PtrVector< T >::push_back ( Ptr< T > const &  iPtr  )  [inline]

Definition at line 136 of file PtrVector.h.

Referenced by FWLiteJetProducer::applyCuts(), ConvertedPhotonProducer::buildCollections(), pat::helper::BasicOverlapTest::fillOverlapsForItem(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), helper::SelectionPtrViewAdder< T >::operator()(), TrackerOnlyConversionProducer::produce(), SoftConversionProducer::produce(), reco::modules::NamedCandCombiner< Selector, PairSelector, Cloner, Setup, Init >::produce(), PFTopProjector::ptrToAncestor(), PFRootEventManager::reconstructCaloJets(), PFRootEventManager::reconstructGenJets(), and PFRootEventManager::reconstructPFJets().

00136                                        {
00137       this->push_back_base(iPtr.refCore(),
00138                            iPtr.key(),
00139                            iPtr.hasCache() ? iPtr.operator->() : static_cast<void const*>(0));
00140     }

template<typename T>
void edm::PtrVector< T >::swap ( PtrVector< T > &  other  )  [inline]

Definition at line 151 of file PtrVector.h.

Referenced by edm::PtrVector< reco::CaloCluster >::operator=(), and edm::swap().

00151                                 {
00152       this->PtrVectorBase::swap(other);
00153     }

template<typename T>
std::type_info const& edm::PtrVector< T >::typeInfo (  )  const [inline, private, virtual]

Implements edm::PtrVectorBase.

Definition at line 164 of file PtrVector.h.

00164 {return typeid(T);}


Friends And Related Function Documentation

template<typename T>
friend class PtrVectorItr< T > [friend]

Definition at line 110 of file PtrVector.h.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:43:12 2009 for CMSSW by  doxygen 1.5.4