CMS 3D CMS Logo

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

#include <CaloClusterFwd.h>

Inheritance diagram for edm::View< T >:
edm::ViewBase

Public Types

typedef boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
 
typedef T const * const_pointer
 
typedef T const & const_reference
 
typedef boost::indirect_iterator< typename seq_t::const_reverse_iterator > const_reverse_iterator
 
typedef seq_t::difference_type difference_type
 
typedef T const * pointer
 
typedef T const & reference
 
typedef unsigned int size_type
 
typedef T value_type
 

Public Member Functions

const_reference at (size_type pos) const
 
const_reference back () const
 
const_iterator begin () const
 
size_type capacity () const
 
bool empty () const
 
const_iterator end () const
 
const_reference front () const
 
size_type max_size () const
 
Viewoperator= (View const &rhs)
 
const_reference operator[] (size_type pos) const
 
Ptr< value_typeptrAt (size_type i) const
 
std::vector< Ptr< value_type > > const & ptrs () const
 
const_reverse_iterator rbegin () const
 
RefToBase< value_typerefAt (size_type i) const
 
const_reverse_iterator rend () const
 
size_type size () const
 
void swap (View &other)
 
 View ()
 
 View (std::vector< void const * > const &pointers, FillViewHelperVector const &helpers, EDProductGetter const *getter)
 
 ~View () override
 
- Public Member Functions inherited from edm::ViewBase
std::unique_ptr< ViewBaseclone () const
 
virtual ~ViewBase ()
 

Static Public Member Functions

static void fill_from_range (T *first, T *last, View &output)
 

Private Types

typedef std::vector< T const * > seq_t
 

Private Member Functions

std::unique_ptr< ViewBasedoClone () const override
 

Private Attributes

seq_t items_
 
std::vector< Ptr< value_type > > vPtrs_
 

Additional Inherited Members

- Protected Member Functions inherited from edm::ViewBase
ViewBaseoperator= (ViewBase const &)
 
void swap (ViewBase &)
 
 ViewBase ()
 
 ViewBase (ViewBase const &)
 

Detailed Description

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

Class template View<T>

View<T> provides a way to allow reference to the elements (of type T) of some collection in an Event, without knowing about the type of the collection itself. For example, View<int> can refer to the ints in either a vector<int> or a list<int>, without the client code knowing about which type of container manages the ints.

View<T> is not persistable.

View<T> can be used to reference objects of any type that has T as a public base.

Definition at line 14 of file CaloClusterFwd.h.

Member Typedef Documentation

◆ const_iterator

template<typename T>
typedef boost::indirect_iterator<typename seq_t::const_iterator> edm::View< T >::const_iterator

Definition at line 86 of file View.h.

◆ const_pointer

template<typename T>
typedef T const* edm::View< T >::const_pointer

Definition at line 79 of file View.h.

◆ const_reference

template<typename T>
typedef T const& edm::View< T >::const_reference

Definition at line 82 of file View.h.

◆ const_reverse_iterator

template<typename T>
typedef boost::indirect_iterator<typename seq_t::const_reverse_iterator> edm::View< T >::const_reverse_iterator

Definition at line 93 of file View.h.

◆ difference_type

template<typename T>
typedef seq_t::difference_type edm::View< T >::difference_type

Definition at line 91 of file View.h.

◆ pointer

template<typename T>
typedef T const* edm::View< T >::pointer

Definition at line 78 of file View.h.

◆ reference

template<typename T>
typedef T const& edm::View< T >::reference

Definition at line 81 of file View.h.

◆ seq_t

template<typename T>
typedef std::vector<T const*> edm::View< T >::seq_t
private

Definition at line 75 of file View.h.

◆ size_type

template<typename T>
typedef unsigned int edm::View< T >::size_type

Definition at line 90 of file View.h.

◆ value_type

template<typename T>
typedef T edm::View< T >::value_type

Definition at line 84 of file View.h.

Constructor & Destructor Documentation

◆ View() [1/2]

template<typename T>
edm::View< T >::View ( )

◆ View() [2/2]

template<typename T>
edm::View< T >::View ( std::vector< void const * > const &  pointers,
FillViewHelperVector const &  helpers,
EDProductGetter const *  getter 
)

◆ ~View()

template<typename T>
edm::View< T >::~View ( )
override

Member Function Documentation

◆ at()

template<typename T>
const_reference edm::View< T >::at ( size_type  pos) const

◆ back()

template<typename T>
const_reference edm::View< T >::back ( ) const

◆ begin()

template<typename T>
const_iterator edm::View< T >::begin ( ) const

◆ capacity()

template<typename T>
size_type edm::View< T >::capacity ( ) const

◆ doClone()

template<typename T>
std::unique_ptr<ViewBase> edm::View< T >::doClone ( ) const
overrideprivatevirtual

Implements edm::ViewBase.

◆ empty()

template<typename T>
bool edm::View< T >::empty ( ) const

◆ end()

template<typename T>
const_iterator edm::View< T >::end ( ) const

◆ fill_from_range()

template<typename T>
static void edm::View< T >::fill_from_range ( T first,
T last,
View< T > &  output 
)
static

◆ front()

template<typename T>
const_reference edm::View< T >::front ( ) const

◆ max_size()

template<typename T>
size_type edm::View< T >::max_size ( ) const

◆ operator=()

template<typename T>
View& edm::View< T >::operator= ( View< T > const &  rhs)

◆ operator[]()

template<typename T>
const_reference edm::View< T >::operator[] ( size_type  pos) const

◆ ptrAt()

template<typename T>
Ptr<value_type> edm::View< T >::ptrAt ( size_type  i) const

◆ ptrs()

template<typename T>
std::vector<Ptr<value_type> > const& edm::View< T >::ptrs ( ) const

Referenced by PFSpecificAlgo::run().

◆ rbegin()

template<typename T>
const_reverse_iterator edm::View< T >::rbegin ( ) const

◆ refAt()

template<typename T>
RefToBase<value_type> edm::View< T >::refAt ( size_type  i) const

◆ rend()

template<typename T>
const_reverse_iterator edm::View< T >::rend ( ) const

◆ size()

template<typename T>
size_type edm::View< T >::size ( ) const

Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), RPCRecHitProbability::analyze(), RPCMonitorDigi::analyze(), RecoMuonValidator::analyze(), SiPixelPhase1HitsV::analyze(), ValidationMisalignedTracker::analyze(), HTMonitor::analyze(), TagProbeFitTreeProducer::analyze(), VertexAssociatorByPositionAndTracks::associateRecoToSim(), VertexAssociatorByPositionAndTracks::associateSimToReco(), CandCombinerBase< OutputCollection, Cloner::CandPtr >::combine(), PhotonIDValueMapProducer::computeWorstPFChargedIsolation(), PFAlgo::egammaFilters(), EventShapeVariables::EventShapeVariables(), PatBTagCommonHistos::Fill(), associationMapFilterValuesHelpers::FillIndices< edm::View< T > >::fill(), ProbeTreeProducer::filter(), BTagPerformanceAnalyzerMC::getJetWithFlavour(), cms::SubEventGenJetProducer::produce(), PFMuonUntagger::produce(), PuppiPhoton::produce(), GenParticles2HepMCConverter::produce(), ShiftedJetProducerByMatchedObjectT< T >::produce(), citk::PFIsolationSumProducerForPUPPI::produce(), ShiftedParticleMETcorrInputProducer::produce(), VersionedIdProducer< PhysicsObjectPtr, SelectorType >::produce(), pat::PATJetUpdater::produce(), MatchedProbeMaker< T >::produce(), PuppiProducer::produce(), ShiftedPFCandidateProducerForPFMVAMEt::produce(), ShiftedParticleProducer::produce(), pat::PATPackedCandidateProducer::produce(), citk::PFIsolationSumProducer::produce(), BoostedTauSeedsProducer::produce(), pat::PATJetProducer::produce(), RecoTauPiZeroProducer::produce(), DeepDoubleXTagInfoProducer::produce(), RecoTauProducer::produce(), DeepFlavourTagInfoProducer::produce(), VirtualJetProducer::produce(), pat::helper::AnyNumberAssociationAdaptor::run_(), and MultiTrackValidator::trackDR().

◆ swap()

template<typename T>
void edm::View< T >::swap ( View< T > &  other)

Member Data Documentation

◆ items_

template<typename T>
seq_t edm::View< T >::items_
private

Definition at line 140 of file View.h.

◆ vPtrs_

template<typename T>
std::vector<Ptr<value_type> > edm::View< T >::vPtrs_
private

Definition at line 141 of file View.h.