diff --git a/aegisub/libaegisub/include/libaegisub/scoped_ptr.h b/aegisub/libaegisub/include/libaegisub/scoped_ptr.h index 249f01f8f..83cba68af 100644 --- a/aegisub/libaegisub/include/libaegisub/scoped_ptr.h +++ b/aegisub/libaegisub/include/libaegisub/scoped_ptr.h @@ -33,12 +33,15 @@ class scoped_ptr { T* ptr; scoped_ptr(scoped_ptr const&); scoped_ptr& operator=(scoped_ptr const&); + + typedef T *scoped_ptr::*unspecified_bool_type; public: typedef T element_type; T& operator*() const {return *ptr; } T* operator->() const { return ptr; } T* get() const { return ptr; } + operator unspecified_bool_type() const { return ptr ? &scoped_ptr::ptr : 0; } void reset(T *p = 0) { delete ptr;