diff --git a/src/MemoryX.h b/src/MemoryX.h index 52ae24ad7..1e1dcd6b6 100644 --- a/src/MemoryX.h +++ b/src/MemoryX.h @@ -188,6 +188,16 @@ namespace std { // Give up ownership, don't destroy T* release() { T* result = p; p = nullptr; return result; } + void reset(T* __p = nullptr) + { + T* old__p = p; + p = __p; + if (old__p != nullptr) + { + delete[] old__p; + } + } + // Equality tests bool operator== (nullptr_t) const { return p != nullptr; } template friend bool operator== (nullptr_t, const unique_ptr&);