]> git.saurik.com Git - wxWidgets.git/commitdiff
Move wxScopedPtr::reset() implementation to wxDEFINE_SCOPED_PTR.
authorVáclav Slavík <vslavik@fastmail.fm>
Thu, 6 May 2010 05:43:01 +0000 (05:43 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Thu, 6 May 2010 05:43:01 +0000 (05:43 +0000)
Just as the destructor, reset() calls delete on T pointer and so can
only be defined when T is fully defined.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/scopedptr.h

index 8faa383c89245b83091983468b25c2fe2b7b09d4..f31a4ef036da529fe5399029fae1d0085b5c1e39 100644 (file)
@@ -129,14 +129,7 @@ public:                             \
                                     \
     ~name();                        \
                                     \
-    void reset(T * ptr = NULL)      \
-    {                               \
-        if (m_ptr != ptr)           \
-        {                           \
-            wxCHECKED_DELETE(m_ptr);\
-            m_ptr = ptr;            \
-        }                           \
-    }                               \
+    void reset(T * ptr = NULL);     \
                                     \
     T *release()                    \
     {                               \
@@ -171,6 +164,14 @@ public:                             \
 };
 
 #define wxDEFINE_SCOPED_PTR(T, name)\
+void name::reset(T * ptr)           \
+{                                   \
+    if (m_ptr != ptr)               \
+    {                               \
+        wxCHECKED_DELETE(m_ptr);    \
+        m_ptr = ptr;                \
+    }                               \
+}                                   \
 name::~name()                       \
 {                                   \
     wxCHECKED_DELETE(m_ptr);        \