CReferenceSPT< T > Class Template Reference#include <ReferenceCounting.h>
Collaboration diagram for CReferenceSPT< T >:
![]()
Detailed Descriptiontemplate<class T>
|
CReferenceSPT< T >::CReferenceSPT | ( | T * | pCounter, | |
bool | bAutoAdd = true | |||
) | [inline] |
Definition at line 93 of file ReferenceCounting.h.
00094 : m_pCounter(pCounter) 00095 { 00096 //Do we need to add 00097 if (bAutoAdd) 00098 //Add the ref 00099 AddRef(); 00100 }
virtual CReferenceSPT< T >::~CReferenceSPT | ( | ) | [inline, virtual] |
Definition at line 101 of file ReferenceCounting.h.
00102 { 00103 //Release the ref 00104 ReleaseRef(); 00105 }
long CReferenceSPT< T >::AddRef | ( | ) | [inline] |
T* CReferenceSPT< T >::Detach | ( | ) | [inline] |
Definition at line 60 of file ReferenceCounting.h.
00061 { 00062 //Save to tmp 00063 T* pTmp; 00064 pTmp=m_pCounter; 00065 00066 //Clear out var 00067 m_pCounter=NULL; 00068 00069 //Done 00070 return pTmp; 00071 }
virtual T* CReferenceSPT< T >::operator-> | ( | ) | [inline, virtual] |
long CReferenceSPT< T >::ReleaseRef | ( | ) | [inline] |
Definition at line 83 of file ReferenceCounting.h.
00084 { 00085 if (m_pCounter) 00086 return m_pCounter->ReleaseRef(); 00087 else 00088 return 0; 00089 }