X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9a092733d3a7a904b4122632a8cfe88388254f3..36a0190ebd5bd9a7302f60f6dcd608b80574e21c:/interface/wx/weakref.h?ds=sidebyside diff --git a/interface/wx/weakref.h b/interface/wx/weakref.h index d208d48804..e954c26a3a 100644 --- a/interface/wx/weakref.h +++ b/interface/wx/weakref.h @@ -2,13 +2,11 @@ // Name: weakref.h // Purpose: interface of wxWeakRefDynamic, wxWeakRef // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** - 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 @@ -19,7 +17,7 @@ is to handle objects which derived type one does not know. @note wxWeakRef selects an implementation based on the static type of T. - If T does not have wxTrackable statically, it defaults to to a mixed- + If T does not have wxTrackable statically, it defaults to a mixed- mode operation, where it uses @c dynamic_cast as the last measure (if available from the compiler and enabled when building wxWidgets). @@ -28,7 +26,7 @@ For API documentation, see: wxWeakRef. @tparam T - @todo docme + The type to which the smart pointer points to. @nolibrary @category{smartpointers} @@ -92,7 +90,7 @@ public: @endcode @tparam T - @todo docme + The type to which the smart pointer points to. @nolibrary @category{smartpointers} @@ -103,6 +101,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. */ @@ -116,7 +117,7 @@ public: /** Destructor. */ - ~wxWeakRef(); + virtual ~wxWeakRef(); /** Called when the tracked object is destroyed. Be default sets @@ -154,11 +155,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.