#include <utils.h>
Public Member Functions | |
void | bind (T *Pointer) |
T * | get () const |
T * | getPointer () const |
bool | isNull () const |
T & | operator* () const |
T * | operator-> () const |
template<class Y> | |
SharedPtr & | operator= (const SharedPtr< Y > &r) |
SharedPtr & | operator= (const SharedPtr &r) |
void | setNull () |
template<class Y> | |
SharedPtr (const SharedPtr< Y > &r) | |
SharedPtr (const SharedPtr &r) | |
template<class Y> | |
SharedPtr (Y *Pointer) | |
SharedPtr () | |
bool | unique () const |
unsigned int | useCount () const |
unsigned int * | useCountPointer () const |
virtual | ~SharedPtr () |
Protected Member Functions | |
virtual void | destroy () |
void | release () |
virtual void | swap (SharedPtr< T > &other) |
Protected Attributes | |
T * | mPointer |
unsigned int * | mUseCount |
Definition at line 56 of file utils.h.
gpucalc::SharedPtr< T >::SharedPtr | ( | ) | [inline] |
gpucalc::SharedPtr< T >::SharedPtr | ( | Y * | Pointer | ) | [inline, explicit] |
gpucalc::SharedPtr< T >::SharedPtr | ( | const SharedPtr< T > & | r | ) | [inline] |
gpucalc::SharedPtr< T >::SharedPtr | ( | const SharedPtr< Y > & | r | ) | [inline] |
virtual gpucalc::SharedPtr< T >::~SharedPtr | ( | ) | [inline, virtual] |
void gpucalc::SharedPtr< T >::bind | ( | T * | Pointer | ) | [inline] |
virtual void gpucalc::SharedPtr< T >::destroy | ( | ) | [inline, protected, virtual] |
Definition at line 231 of file utils.h.
00232 { 00233 // IF YOU GET A CRASH HERE, YOU FORGOT TO FREE UP POINTERS 00234 // BEFORE SHUTTING gpucalc DOWN 00235 // Use setNull() before shutdown or make sure your pointer goes 00236 // out of scope before gpucalc shuts down to avoid this. 00237 delete mPointer; 00238 delete mUseCount; 00239 }
T* gpucalc::SharedPtr< T >::get | ( | ) | const [inline] |
T* gpucalc::SharedPtr< T >::getPointer | ( | ) | const [inline] |
bool gpucalc::SharedPtr< T >::isNull | ( | ) | const [inline] |
T& gpucalc::SharedPtr< T >::operator* | ( | ) | const [inline] |
T* gpucalc::SharedPtr< T >::operator-> | ( | ) | const [inline] |
SharedPtr& gpucalc::SharedPtr< T >::operator= | ( | const SharedPtr< Y > & | r | ) | [inline] |
Definition at line 113 of file utils.h.
00114 { 00115 if (mPointer == r.mPointer) 00116 { 00117 return * this; 00118 } 00119 // Swap current data into a local copy 00120 // this ensures we deal with rhs and this being dependent 00121 SharedPtr<T> tmp(r); 00122 swap(tmp); 00123 return * this; 00124 }
SharedPtr& gpucalc::SharedPtr< T >::operator= | ( | const SharedPtr< T > & | r | ) | [inline] |
void gpucalc::SharedPtr< T >::release | ( | ) | [inline, protected] |
void gpucalc::SharedPtr< T >::setNull | ( | ) | [inline] |
virtual void gpucalc::SharedPtr< T >::swap | ( | SharedPtr< T > & | other | ) | [inline, protected, virtual] |
bool gpucalc::SharedPtr< T >::unique | ( | ) | const [inline] |
unsigned int gpucalc::SharedPtr< T >::useCount | ( | ) | const [inline] |
unsigned int* gpucalc::SharedPtr< T >::useCountPointer | ( | ) | const [inline] |
T* gpucalc::SharedPtr< T >::mPointer [protected] |
unsigned int* gpucalc::SharedPtr< T >::mUseCount [protected] |