X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e25cd7750c571191ce69438de5f7c0293d1b5270..f2e4cf3dc689b4e9d362637a9f9347fb49fd18d4:/interface/wx/weakref.h diff --git a/interface/wx/weakref.h b/interface/wx/weakref.h index c06a27e111..6e988f0e12 100644 --- a/interface/wx/weakref.h +++ b/interface/wx/weakref.h @@ -3,13 +3,11 @@ // Purpose: interface of wxWeakRefDynamic, wxWeakRef // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** - @class wxWeakRefDynamic - wxWeakRefDynamic is a template class for weak references that is used in the same way as wxWeakRef. The only difference is that wxWeakRefDynamic defaults to using @c dynamic_cast for establishing the object reference @@ -28,8 +26,11 @@ For API documentation, see: wxWeakRef. + @tparam T + The type to which the smart pointer points to. + @nolibrary - @category{misc} + @category{smartpointers} */ template class wxWeakRefDynamic @@ -41,8 +42,6 @@ public: /** - @class wxWeakRef - wxWeakRef is a template class for weak references to wxWidgets objects, such as wxEvtHandler, wxWindow and wxObject. A weak reference behaves much like an ordinary pointer, but when the object @@ -91,8 +90,11 @@ public: typedef wxWeakRef wxWindowRef; @endcode + @tparam T + The type to which the smart pointer points to. + @nolibrary - @category{misc} + @category{smartpointers} @see wxSharedPtr, wxScopedPtr */ @@ -100,6 +102,9 @@ template class wxWeakRef : public wxTrackerNode { public: + /// Type of the element stored by this reference. + typedef T element_type; + /** Constructor. The weak reference is initialized to @e pobj. */ @@ -113,7 +118,7 @@ public: /** Destructor. */ - ~wxWeakRef(); + virtual ~wxWeakRef(); /** Called when the tracked object is destroyed. Be default sets @@ -151,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.