]> git.saurik.com Git - wxWidgets.git/commitdiff
add conversion to unspecified_bool_type to allow writing if(weakref)
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 8 Jan 2008 14:23:20 +0000 (14:23 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 8 Jan 2008 14:23:20 +0000 (14:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/weakref.h

index a893ba4049686888f5cff9acf99499edcf96ad63..3d4c44577471be791a0e11bad107313f851b439e 100644 (file)
@@ -25,6 +25,14 @@ public:
 
     virtual ~wxWeakRef() { Assign(NULL); }
 
+    // test for pointer validity: defining conversion to unspecified_bool_type
+    // and not more obvious bool to avoid implicit conversions to integer types
+    typedef T *(wxWeakRef<T>::*unspecified_bool_type)() const;
+    operator unspecified_bool_type() const
+    {
+        return m_pobj ? &wxWeakRef<T>::get : NULL;
+    }
+
     T * get() const                 
     {                               
         return m_pobj;