diff --git a/inc/hgl/type/Smart.h b/inc/hgl/type/Smart.h index 03287ade..1bf07eb8 100644 --- a/inc/hgl/type/Smart.h +++ b/inc/hgl/type/Smart.h @@ -455,5 +455,35 @@ namespace hgl return(*this); } };//template class WeakArray + + template class AutoDelete + { + T *obj; + + public: + + AutoDelete(T *o) + { + obj=o; + } + + ~AutoDelete() + { + if(obj) + delete obj; + } + + void operator = (T *o) + { + obj=o; + } + + T *operator -> (){return obj;} + + void Clear() + { + obj=nullptr; + } + };//template class AutoDelete }//namespace hgl #endif//HGL_SMART_INCLUDE