16 #ifndef __RAKNET_SMART_PTR_H
17 #define __RAKNET_SMART_PTR_H
73 if(reference && reference->Release() == 0)
83 bool IsNull(
void)
const
90 if(reference && reference->Release() == 0)
102 bool IsUnique(
void)
const
104 return reference->GetRefCount()==1;
108 void Clone(
bool copyContents)
110 if (IsUnique()==
false)
112 reference->Release();
123 int GetRefCount(
void)
const
125 return reference->GetRefCount();
133 const T& operator* ()
const
143 const T* operator-> ()
const
150 return ptr == sp.ptr;
152 bool operator<( const RakNetSmartPtr<T> &right ) {
return ptr < right.ptr;}
157 return ptr != sp.ptr;
166 if(reference && reference->Release() == 0)
176 reference = sp.reference;