]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxWeakRef::element_type, remove unnecessary assignment operator.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Apr 2010 18:13:23 +0000 (18:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Apr 2010 18:13:23 +0000 (18:13 +0000)
Define element_type for consistency with other classes (wxSharedPtr, weak_ptr)
and to allow accessing the type from the template code.

Also remove the apparently unnecessary template assignment operator:
assignment from an expression convertible to type T* works even without it and
while assigning something implicitly convertible to T* wouldn't work now, it's
for the best as we don't want to rely on such implicit conversions.

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

include/wx/weakref.h
interface/wx/weakref.h

index b8324d07ec7248eabe2464175ee67b73784526db..96ed48ee6f35619419f784d489cd13febc91723f 100644 (file)
@@ -206,6 +206,8 @@ class wxWeakRef : public
 #endif
 {
 public:
+    typedef T element_type;
+
     // Default ctor
     wxWeakRef() { }
 
@@ -224,13 +226,6 @@ public:
         Assign(wr.get());
     }
 
-    template <class TDerived>
-    wxWeakRef<T>& operator=(TDerived* pobj)
-    {
-        this->Assign(pobj);
-        return *this;
-    }
-
     wxWeakRef<T>& operator=(const wxWeakRef<T>& wr)
     {
         AssignCopy(wr);
index 05a5503fd8893469f37bc055251db6f3fefd7f85..d6eb9fe4d89dbc27cb82c053c4009a2e9611f567 100644 (file)
@@ -102,6 +102,9 @@ template<typename T>
 class wxWeakRef<T> : public wxTrackerNode
 {
 public:
+    /// Type of the element stored by this reference.
+    typedef T element_type;
+
     /**
         Constructor. The weak reference is initialized to @e pobj.
     */
@@ -115,7 +118,7 @@ public:
     /**
         Destructor.
     */
-    ~wxWeakRef();
+    virtual ~wxWeakRef();
 
     /**
         Called when the tracked object is destroyed. Be default sets