Path: blob/devel/ElmerGUI/netgen/libsrc/general/autoptr.hpp
3206 views
#ifndef FILE_AUTOPTR1#define FILE_AUTOPTR23/**************************************************************************/4/* File: autoptr.hpp */5/* Author: STL, Joachim Schoeberl */6/* Date: 29. Dec. 02 */7/**************************************************************************/89template <typename T>10class AutoPtr11{12private:13T * ptr;14public:15typedef T* pT;16explicit AutoPtr (T * p = 0) { ptr = p; }17~AutoPtr () { delete ptr; }1819T & operator*() const { return *ptr; }20T* operator->() const { return ptr; }21T *& Ptr() { return ptr; }22T * Ptr() const { return ptr; }23void Reset(T * p = 0) { if (p != ptr) { delete ptr; ptr = p; } }24operator bool () { return ptr != 0; }25private:26AutoPtr (AutoPtr &) { ; }27AutoPtr & operator= (AutoPtr &) { ; }28};2930#endif313233