CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
ProxyBase11< T > Class Template Reference

#include <ProxyBase11.h>

Inheritance diagram for ProxyBase11< T >:
reco::GhostTrackState reco::TransientTrack TrajectoryStateOnSurface VertexState

Public Types

using pointer = std::shared_ptr< T >
 

Public Member Functions

void check () const
 
const Tdata () const
 
void destroy () noexcept
 
bool isValid () const
 
ProxyBase11operator= (const ProxyBase11 &other)=default
 
ProxyBase11operator= (ProxyBase11 &&other) noexcept=default
 
template<typename U >
ProxyBase11operator= (std::shared_ptr< U > p)
 
 ProxyBase11 ()
 
 ProxyBase11 (ProxyBase11 &&other) noexcept=default
 
 ProxyBase11 (ProxyBase11 const &other)=default
 
template<typename U >
 ProxyBase11 (std::shared_ptr< U > p)
 
 ProxyBase11 (T *p)
 
int references () const
 
void reset ()
 
TsharedData ()
 
void swap (ProxyBase11 &other) noexcept
 
TunsharedData ()
 
 ~ProxyBase11 () noexcept
 

Private Attributes

std::shared_ptr< TtheData
 

Detailed Description

template<class T>
class ProxyBase11< T >

A base class for reference counting proxies. The class to which this one is proxy must inherit from ReferenceCounted. A ProxyBase has value semantics, in contrast to ReferenceCountingPointer, which has pointer semantics. The Proxy class inheriting from ProxyBase must duplicate the part of the interface of the reference counted class that it whiches to expose.

Definition at line 23 of file ProxyBase11.h.

Member Typedef Documentation

◆ pointer

template<class T>
using ProxyBase11< T >::pointer = std::shared_ptr<T>

Definition at line 25 of file ProxyBase11.h.

Constructor & Destructor Documentation

◆ ProxyBase11() [1/5]

template<class T>
ProxyBase11< T >::ProxyBase11 ( )
inline

Definition at line 29 of file ProxyBase11.h.

29 {}

◆ ProxyBase11() [2/5]

template<class T>
ProxyBase11< T >::ProxyBase11 ( T p)
inlineexplicit

Definition at line 31 of file ProxyBase11.h.

31 : theData(p) {}

◆ ProxyBase11() [3/5]

template<class T>
template<typename U >
ProxyBase11< T >::ProxyBase11 ( std::shared_ptr< U >  p)
inline

Definition at line 33 of file ProxyBase11.h.

33 : theData(std::move(p)) {}

◆ ~ProxyBase11()

template<class T>
ProxyBase11< T >::~ProxyBase11 ( )
inlinenoexcept

Definition at line 40 of file ProxyBase11.h.

40 { destroy(); }

References ProxyBase11< T >::destroy().

◆ ProxyBase11() [4/5]

template<class T>
ProxyBase11< T >::ProxyBase11 ( ProxyBase11< T > &&  other)
defaultnoexcept

◆ ProxyBase11() [5/5]

template<class T>
ProxyBase11< T >::ProxyBase11 ( ProxyBase11< T > const &  other)
default

Member Function Documentation

◆ check()

template<class T>
void ProxyBase11< T >::check ( void  ) const
inline

Definition at line 71 of file ProxyBase11.h.

71  {
72 #ifdef TR_DEBUG
73  if
74  UNLIKELY(!theData) std::cout << "dead proxyBase11 " << references() << std::endl;
75 #endif
76  }

References gather_cfg::cout, ProxyBase11< T >::references(), ProxyBase11< T >::theData, and UNLIKELY.

Referenced by ProxyBase11< T >::data(), ProxyBase11< T >::sharedData(), and ProxyBase11< T >::unsharedData().

◆ data()

template<class T>
const T& ProxyBase11< T >::data ( ) const
inline

Definition at line 51 of file ProxyBase11.h.

51  {
52  check();
53  return *theData;
54  }

References ProxyBase11< T >::check(), and ProxyBase11< T >::theData.

Referenced by reco::TransientTrack::basicTransientTrack(), reco::GhostTrackState::cartesianCovariance(), reco::GhostTrackState::cartesianError(), TrajectoryStateOnSurface::cartesianError(), TrajectoryStateOnSurface::charge(), reco::TransientTrack::charge(), TrajectoryStateOnSurface::components(), VertexState::components(), GsfCombinedMaterialEffectsUpdator::compute(), TrajectoryStateOnSurface::curvilinearError(), reco::TransientTrack::dtErrorExt(), VertexState::error(), VertexState::error4D(), reco::TransientTrack::field(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalDirection(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalParameters(), reco::GhostTrackState::globalPosition(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::hasError(), reco::TransientTrack::impactPointState(), reco::TransientTrack::impactPointStateAvailable(), reco::TransientTrack::impactPointTSCP(), reco::TransientTrack::initialFreeState(), reco::TransientTrack::innermostMeasurementState(), VertexState::is4D(), reco::GhostTrackState::isTrack(), reco::GhostTrackState::isValid(), TrajectoryStateOnSurface::isValid(), VertexState::isValid(), reco::GhostTrackState::isVertex(), reco::GhostTrackState::lambda(), TrajectoryStateOnSurface::localDirection(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localMomentum(), TrajectoryStateOnSurface::localParameters(), TrajectoryStateOnSurface::localPosition(), TrajectoryStateOnSurface::magneticField(), reco::TransientTrack::operator<(), reco::TransientTrack::operator==(), reco::TransientTrack::outermostMeasurementState(), VertexState::position(), TrajectoryStateOnSurface::signedInverseMomentum(), TrajectoryStateOnSurface::singleState(), reco::TransientTrack::stateAtBeamLine(), reco::TransientTrack::stateOnSurface(), TrajectoryStateOnSurface::surface(), TrajectoryStateOnSurface::surfaceSide(), VertexState::time(), VertexState::timeError(), reco::TransientTrack::timeExt(), reco::GhostTrackState::track(), reco::TransientTrack::track(), reco::TransientTrack::trackBaseRef(), reco::TransientTrack::trajectoryStateClosestToPoint(), TrajectoryStateOnSurface::transverseCurvature(), reco::GhostTrackState::tsos(), TrajectoryStateOnSurface::update(), GsfMaterialEffectsUpdator::updateState(), reco::GhostTrackState::vertexStateOnGhostTrack(), reco::GhostTrackState::vertexStateOnMeasurement(), reco::GhostTrackState::weight(), VertexState::weight(), TrajectoryStateOnSurface::weight(), VertexState::weight4D(), VertexState::weightInMixture(), VertexState::weightTimesPosition(), and VertexState::weightTimesPosition4D().

◆ destroy()

template<class T>
void ProxyBase11< T >::destroy ( )
inlinenoexcept

Definition at line 78 of file ProxyBase11.h.

78 {}

Referenced by ProxyBase11< T >::~ProxyBase11().

◆ isValid()

template<class T>
bool ProxyBase11< T >::isValid ( void  ) const
inline

◆ operator=() [1/3]

template<class T>
ProxyBase11& ProxyBase11< T >::operator= ( const ProxyBase11< T > &  other)
default

◆ operator=() [2/3]

template<class T>
ProxyBase11& ProxyBase11< T >::operator= ( ProxyBase11< T > &&  other)
defaultnoexcept

◆ operator=() [3/3]

template<class T>
template<typename U >
ProxyBase11& ProxyBase11< T >::operator= ( std::shared_ptr< U >  p)
inline

Definition at line 35 of file ProxyBase11.h.

35  {
36  theData = std::move(p);
37  return *this;
38  }

References eostools::move(), AlCaHLTBitMon_ParallelJobs::p, and ProxyBase11< T >::theData.

Referenced by reco::TransientTrack::operator=(), and TrajectoryStateOnSurface::operator=().

◆ references()

template<class T>
int ProxyBase11< T >::references ( ) const
inline

Definition at line 79 of file ProxyBase11.h.

79 { return theData.use_count(); }

References ProxyBase11< T >::theData.

Referenced by ProxyBase11< T >::check(), and ProxyBase11< T >::unsharedData().

◆ reset()

template<class T>
void ProxyBase11< T >::reset ( void  )
inline

Definition at line 49 of file ProxyBase11.h.

49 { theData.reset(); }

References ProxyBase11< T >::theData.

◆ sharedData()

template<class T>
T& ProxyBase11< T >::sharedData ( )
inline

◆ swap()

template<class T>
void ProxyBase11< T >::swap ( ProxyBase11< T > &  other)
inlinenoexcept

◆ unsharedData()

template<class T>
T& ProxyBase11< T >::unsharedData ( )
inline

Member Data Documentation

◆ theData

template<class T>
std::shared_ptr<T> ProxyBase11< T >::theData
private
electrons_cff.bool
bool
Definition: electrons_cff.py:393
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ProxyBase11::references
int references() const
Definition: ProxyBase11.h:79
gather_cfg.cout
cout
Definition: gather_cfg.py:144
UNLIKELY
#define UNLIKELY(x)
Definition: Likely.h:21
std::swap
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Definition: DataFrameContainer.h:209
ProxyBase11::theData
std::shared_ptr< T > theData
Definition: ProxyBase11.h:82
trackingPlots.other
other
Definition: trackingPlots.py:1467
eostools.move
def move(src, dest)
Definition: eostools.py:511
ProxyBase11::destroy
void destroy() noexcept
Definition: ProxyBase11.h:78
ProxyBase11::check
void check() const
Definition: ProxyBase11.h:71