32 explicit AutoPtr (T * p = 0, bool aowner = true) { ptr = p; owner = aowner;}
34 ~AutoPtr () { if (owner) delete ptr; }
37 T & operator*() const { return *ptr; }
40 T* operator->() const { return ptr; }
43 T *& Ptr() { return ptr; }
46 T * Ptr() const { return ptr; }
49 void Reset(T * p = 0, bool aowner = true)
50 { if (p != ptr) { if (owner) delete ptr; ptr = p; }; owner = aowner; }
53 operator bool () { return ptr != 0; }
57 AutoPtr (AutoPtr &) { ; }
59 AutoPtr & operator= (AutoPtr &) { return *this; }