--- rxvt-unicode/src/rxvtutil.h 2014/10/28 09:05:33 1.60 +++ rxvt-unicode/src/rxvtutil.h 2014/11/10 12:14:48 1.61 @@ -93,67 +93,7 @@ }; #endif -template -struct auto_ptr -{ - T *p; - - auto_ptr () : p (0) { } - - explicit - auto_ptr (T *a) : p (a) { } - - auto_ptr (auto_ptr &a) - { - p = a.p; - a.p = 0; - } - - template - auto_ptr (auto_ptr &a) - { - p = a.p; - a.p = 0; - } - - ~auto_ptr () - { - delete p; - } - - void reset (T *a) - { - delete p; - p = a; - } - - // void because it makes sense in our context - void operator =(auto_ptr &a) - { - reset (a.release ()); - } - - template - void operator =(auto_ptr &a) - { - reset (a.release ()); - } - - T *operator ->() const { return p; } - T &operator *() const { return *p; } - - operator T *() { return p; } - T *get () const { return p; } - - T *release() - { - T *r = p; - p = 0; - return r; - } -}; - -typedef auto_ptr auto_str; +typedef estl::scoped_array auto_str; #endif