dchain::ReferenceHolderBase< TPtr, TRef > Class Template Reference

#include <ReferenceHolderBase.h>

Inheritance diagram for dchain::ReferenceHolderBase< TPtr, TRef >:

dchain::ReferenceHolder< T > dchain::ReferenceHolder< dchain::ParticleTraits< T >::CandidateType > dchain::ReferenceHolder< DecayClass::CandidateClass > List of all members.

Public Member Functions

 ReferenceHolderBase ()
 ReferenceHolderBase (TPtr iRef)
 ~ReferenceHolderBase ()
 ReferenceHolderBase (const ReferenceHolderBase< TPtr, TRef > &iOther)
const ReferenceHolderBaseoperator= (const ReferenceHolderBase< TPtr, TRef > &iRHS)
TPtr operator-> () const
TRef operator * () const
TPtr pointer () const

Private Attributes

TPtr m_ref

Detailed Description

template<class TPtr, class TRef>
class dchain::ReferenceHolderBase< TPtr, TRef >

Definition at line 40 of file ReferenceHolderBase.h.


Constructor & Destructor Documentation

template<class TPtr, class TRef>
dchain::ReferenceHolderBase< TPtr, TRef >::ReferenceHolderBase (  )  [inline]

Definition at line 44 of file ReferenceHolderBase.h.

00044 : m_ref(0) {}

template<class TPtr, class TRef>
dchain::ReferenceHolderBase< TPtr, TRef >::ReferenceHolderBase ( TPtr  iRef  )  [inline]

Definition at line 45 of file ReferenceHolderBase.h.

00045                                      : m_ref(iRef) {
00046          if(0 != m_ref) { m_ref->addLink(); } }

template<class TPtr, class TRef>
dchain::ReferenceHolderBase< TPtr, TRef >::~ReferenceHolderBase (  )  [inline]

Definition at line 47 of file ReferenceHolderBase.h.

00047                              {
00048          if (0 != m_ref ) {m_ref->dropLink();}
00049       }

template<class TPtr, class TRef>
dchain::ReferenceHolderBase< TPtr, TRef >::ReferenceHolderBase ( const ReferenceHolderBase< TPtr, TRef > &  iOther  )  [inline]

Definition at line 51 of file ReferenceHolderBase.h.

00051                                                                          :
00052       m_ref( iOther.m_ref ) {
00053         if(0 != m_ref ) { 
00054           m_ref->addLink();
00055         }
00056       }


Member Function Documentation

template<class TPtr, class TRef>
TRef dchain::ReferenceHolderBase< TPtr, TRef >::operator * (  )  const [inline]

Definition at line 75 of file ReferenceHolderBase.h.

00075                              {
00076         return *m_ref;
00077       }

template<class TPtr, class TRef>
TPtr dchain::ReferenceHolderBase< TPtr, TRef >::operator-> (  )  const [inline]

Definition at line 71 of file ReferenceHolderBase.h.

00071                               {
00072         return m_ref;
00073       }

template<class TPtr, class TRef>
const ReferenceHolderBase& dchain::ReferenceHolderBase< TPtr, TRef >::operator= ( const ReferenceHolderBase< TPtr, TRef > &  iRHS  )  [inline]

Definition at line 59 of file ReferenceHolderBase.h.

00059                                                                                         {
00060         if( 0 != iRHS.m_ref ) {
00061           iRHS.m_ref->addLink();
00062         }
00063         if( 0 != m_ref ) {
00064           m_ref->dropLink();
00065         }
00066         m_ref = iRHS.m_ref;
00067         return *this;
00068       }

template<class TPtr, class TRef>
TPtr dchain::ReferenceHolderBase< TPtr, TRef >::pointer (  )  const [inline]

Definition at line 79 of file ReferenceHolderBase.h.

Referenced by dchain::ChosenChargeList< Charged, CandidateClass >::partial_particle_begin(), dchain::ChosenChargeList< Charged, CandidateClass >::partial_particle_end(), dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_begin(), dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_begin(), dchain::ChosenChargeList< Charged, CandidateClass >::particle_begin(), dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_end(), dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_end(), dchain::ChosenChargeList< Charged, CandidateClass >::particle_end(), and dchain::LabeledCandidate< dchain::ParticleTraits< T >::CandidateType >::pointer().

00079                            {
00080         return m_ref;
00081       }


Member Data Documentation

template<class TPtr, class TRef>
TPtr dchain::ReferenceHolderBase< TPtr, TRef >::m_ref [private]

Definition at line 86 of file ReferenceHolderBase.h.

Referenced by dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::operator *(), dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::operator->(), dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::operator=(), dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::pointer(), dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::ReferenceHolderBase(), and dchain::ReferenceHolderBase< const const CandidateClass *, CandidateClass & >::~ReferenceHolderBase().


Generated on Tue Nov 29 23:36:26 2016 for BOSS_7.0.2 by  doxygen 1.4.7