diff options
-rw-r--r-- | src/syncevo/SmartPtr.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/syncevo/SmartPtr.h b/src/syncevo/SmartPtr.h index d0af9661..7f8c22dc 100644 --- a/src/syncevo/SmartPtr.h +++ b/src/syncevo/SmartPtr.h @@ -148,6 +148,10 @@ class SmartPtr m_pointer = pointer; } + void reset( T pointer = NULL ) { + set(pointer, NULL); + } + /** * transfer ownership over the pointer to caller and stop tracking it: * pointer tracked by smart pointer is set to NULL and the original @@ -178,6 +182,10 @@ template<class T, class base = T, class R = Unref > class eptr : base_t::set(pointer); return *this; } + + void reset(T *pointer = NULL) { + base_t::set(pointer); + } }; template <class T> class CxxUnref { |