From e883e08c569d50f1eb0bd800167dd06167ab9bda Mon Sep 17 00:00:00 2001 From: Wim Vriend Date: Sat, 22 Sep 2012 14:44:47 +0000 Subject: Removed Excel-server git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@158 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb --- FaceTrackNoIR/AutoClosePtr.h | 89 -------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 FaceTrackNoIR/AutoClosePtr.h (limited to 'FaceTrackNoIR/AutoClosePtr.h') diff --git a/FaceTrackNoIR/AutoClosePtr.h b/FaceTrackNoIR/AutoClosePtr.h deleted file mode 100644 index 690d2c62..00000000 --- a/FaceTrackNoIR/AutoClosePtr.h +++ /dev/null @@ -1,89 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Auto pointer template. - -#if !defined(AUTOCLOSEPTR_H) -#define AUTOCLOSEPTR_H - -////////////////////////////////////////////////////////////////////////////// -// T auto pointer (not suitable for containers). -// This auto pointer uses T's member function to perform clean up, rather -// than `operator Closeete'. -// -template -class AutoClosePtr -{ -public: - explicit AutoClosePtr(T* p = NULL) - : m_p(p) - { // construct from object pointer - } - - AutoClosePtr(AutoClosePtr& Other) - : m_p(Other.Release()) - { // construct from Other AutoClosePtr - } - - AutoClosePtr& operator=(AutoClosePtr& Other) - { // assign Other - Reset(Other.Release()); - return (*this); - } - - ~AutoClosePtr() - { // close and destroy - if(m_p) - { - (m_p->*Close)(); - m_p = NULL; - } - } - - T& operator*() const - { // return T - return (*m_p); - } - - T** operator&() - { // return the address of the wrapped pointer - Reset(); - return &m_p; - } - - T* operator->() const - { // return wrapped pointer - return Get(); - } - - operator bool() const - { // check wrapped pointer for NULL - return m_p != NULL; - } - - T* Get() const - { // return wrapped pointer - return m_p; - } - - T* Release() - { // return wrapped pointer and give up ownership - T* pTmp = m_p; - m_p = NULL; - return pTmp; - } - - void Reset(T* p = NULL) - { // destroy the object and store new pointer - if(p != m_p) - { - if(m_p) - (m_p->*Close)(); - } - - m_p = p; - } - -private: - T* m_p; // the wrapped raw pointer -}; - -#endif // AUTOCLOSEPTR_H \ No newline at end of file -- cgit v1.2.3