diff options
Diffstat (limited to 'src/ToolBox/SOS/Strike/util.h')
-rw-r--r-- | src/ToolBox/SOS/Strike/util.h | 79 |
1 files changed, 1 insertions, 78 deletions
diff --git a/src/ToolBox/SOS/Strike/util.h b/src/ToolBox/SOS/Strike/util.h index 4612acc299..6d0e79622c 100644 --- a/src/ToolBox/SOS/Strike/util.h +++ b/src/ToolBox/SOS/Strike/util.h @@ -1429,84 +1429,7 @@ SafeReadMemory (TO_TADDR(src), &(dst), sizeof(dst), NULL) extern "C" PDEBUG_DATA_SPACES g_ExtData; -template <class T> -class ArrayHolder -{ -public: - ArrayHolder(T *ptr) - : mPtr(ptr) - { - } - - ~ArrayHolder() - { - Clear(); - } - - ArrayHolder(const ArrayHolder &rhs) - { - mPtr = const_cast<ArrayHolder *>(&rhs)->Detach(); - } - - ArrayHolder &operator=(T *ptr) - { - Clear(); - mPtr = ptr; - return *this; - } - - const T &operator[](int i) const - { - return mPtr[i]; - } - - T &operator[](int i) - { - return mPtr[i]; - } - - operator const T *() const - { - return mPtr; - } - - operator T *() - { - return mPtr; - } - - T **operator&() - { - return &mPtr; - } - - T *GetPtr() - { - return mPtr; - } - - T *Detach() - { - T *ret = mPtr; - mPtr = NULL; - return ret; - } - -private: - void Clear() - { - if (mPtr) - { - delete [] mPtr; - mPtr = NULL; - } - } - -private: - T *mPtr; -}; - - +#include <arrayholder.h> // This class acts a smart pointer which calls the Release method on any object // you place in it when the ToRelease class falls out of scope. You may use it |