]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/weakref.h
Add a link to Microsoft guidelines from wxICON_QUESTION documentation.
[wxWidgets.git] / interface / wx / weakref.h
index a94b65f6561dc5cd6c21d0583fbb5b9a4eaadf9a..6e988f0e1276e4415f5d3112f83877e89a820b92 100644 (file)
@@ -3,12 +3,11 @@
 // Purpose:     interface of wxWeakRefDynamic<T>, wxWeakRef<T>
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /**
-
     wxWeakRefDynamic<T> is a template class for weak references that is used in
     the same way as wxWeakRef<T>. The only difference is that wxWeakRefDynamic
     defaults to using @c dynamic_cast for establishing the object reference
     For API documentation, see: wxWeakRef<T>.
 
     @tparam T
-        @todo docme
+        The type to which the smart pointer points to.
 
     @nolibrary
-    @category{misc}
+    @category{smartpointers}
 */
 template<typename T>
 class wxWeakRefDynamic<T>
@@ -92,10 +91,10 @@ public:
     @endcode
 
     @tparam T
-        @todo docme
+        The type to which the smart pointer points to.
 
     @nolibrary
-    @category{misc}
+    @category{smartpointers}
 
     @see wxSharedPtr<T>, wxScopedPtr<T>
 */
@@ -103,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.
     */
@@ -116,7 +118,7 @@ public:
     /**
         Destructor.
     */
-    ~wxWeakRef();
+    virtual ~wxWeakRef();
 
     /**
         Called when the tracked object is destroyed. Be default sets
@@ -154,11 +156,10 @@ public:
     T& operator*() const;
 
     /**
-        Smart pointer member access.
-        Returns a pointer to the tracked object.
+        Smart pointer member access. Returns a pointer to the tracked object.
         If the internal pointer is @NULL this method will cause an assert in debug mode.
     */
-    T* operator-();
+    T* operator->();
 
     /**
         Releases the currently tracked object and starts tracking @e pobj.