Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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

#include <ReferenceHolderBase.h>

List of all members.

Public Member Functions

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

Private Attributes

TPtr m_ref

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


Constructor & Destructor Documentation

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

00044 : m_ref(0) {}

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

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

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

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]
 

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

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

00044 : m_ref(0) {}

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

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

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

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]
 

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 * void   )  const [inline]
 

00075                              {
00076         return *m_ref;
00077       }

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

00075                              {
00076         return *m_ref;
00077       }

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

00071                               {
00072         return m_ref;
00073       }

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

00071                               {
00072         return m_ref;
00073       }

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

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>
const ReferenceHolderBase& dchain::ReferenceHolderBase< TPtr, TRef >::operator= const ReferenceHolderBase< TPtr, TRef > &  iRHS  )  [inline]
 

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]
 

00079                            {
00080         return m_ref;
00081       }

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

00079                            {
00080         return m_ref;
00081       }


Member Data Documentation

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


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:17:09 2011 for BOSS6.5.5 by  doxygen 1.3.9.1