]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/weakref.tex
add useful headers for meta-programming checks (part of patch 1860953)
[wxWidgets.git] / docs / latex / wx / weakref.tex
index 35e965c33476d8eea1b04b712d1d27bdd7528b50..de989942c5ced57d3953f5ffa07f868d8d68a511 100644 (file)
@@ -1,17 +1,17 @@
 \section{\class{wxWeakRef<T>}}\label{wxweakref}
 
 \section{\class{wxWeakRef<T>}}\label{wxweakref}
 
-{\bf wxWeakRef} is a template class for weak references to wxWidgets objects, 
-such as {\bf wxEvtHandler}, {\bf wxWindow} and {\bf wxObject}. A weak 
-reference behaves much like an ordinary pointer, but when the object pointed 
-to goes out of scope (is destroyed), the weak reference is automatically 
-reset to a NULL pointer. 
+wxWeakRef is a template class for weak references to wxWidgets objects, 
+such as \helpref{wxEvtHandler}{wxevthandler}, \helpref{wxWindow}{wxwindow} and 
+\helpref{wxObject}{wxobject}. A weak reference behaves much like an ordinary
+pointer, but when the object pointed is destroyed, the weak reference is
+automatically reset to a NULL pointer. 
 
 wxWeakref<T> can be used whenever one must keep a pointer to an object 
 that does not directly own, and that may be destroyed before the object 
 holding the reference. 
 
 wxWeakref<T> is a small object and the mechanism behind it is fast 
 
 wxWeakref<T> can be used whenever one must keep a pointer to an object 
 that does not directly own, and that may be destroyed before the object 
 holding the reference. 
 
 wxWeakref<T> is a small object and the mechanism behind it is fast 
-({\bf O(1)}). So the overall cost of using it is small. 
+(\textbf{O(1)}). So the overall cost of using it is small. 
 
 
 \wxheading{Example}
 
 
 \wxheading{Example}
@@ -31,11 +31,12 @@ wxWeakref<T> is a small object and the mechanism behind it is fast
     wxASSERT( wr==NULL );
 \end{verbatim}
 
     wxASSERT( wr==NULL );
 \end{verbatim}
 
-wxWeakref<T> works for any objects that are derived from {\bf wxTrackableBase} 
-or {\bf wxTrackable}. By default, wxEvtHandler and wxWindow derive from 
-wxTrackableBase. However, wxObject does not, so types like {\bf wxFont} and 
-{\bf wxColour} are not trackable. The example below shows how to create a 
-wxObject derived class that is trackable: 
+wxWeakref<T> works for any objects that are derived from 
+\helpref{wxTrackableBase}{wxtrackablebase} or \helpref{wxTrackable}{wxtrackable}.
+By default, wxEvtHandler and wxWindow derive from wxTrackableBase. However, 
+wxObject does not, so types like \helpref{wxFont}{wxfont} and 
+\helpref{wxColour}{wxcolour} are not trackable. The example below shows how to
+create a wxObject derived class that is trackable: 
 
 \begin{verbatim}
     class wxMyTrackableObject : public wxObject, public wxTrackable { 
 
 \begin{verbatim}
     class wxMyTrackableObject : public wxObject, public wxTrackable { 
@@ -43,12 +44,11 @@ wxObject derived class that is trackable:
     }; 
 \end{verbatim}
 
     }; 
 \end{verbatim}
 
-{\bf Note:} Custom trackable objects should derive from wxTrackable 
-if one wants to reference them from a {\bf wxWeakRef<wxObject>}. The 
+\textbf{Note:} Custom trackable objects should derive from wxTrackable 
+if one wants to reference them from a \texttt{wxWeakRef<wxObject>}. The 
 difference between the two base classes is that wxTrackableBase 
 has no virtual member functions (no VTable), and thus cannot be detected
 difference between the two base classes is that wxTrackableBase 
 has no virtual member functions (no VTable), and thus cannot be detected
-through {\bf dynamic_cast<>}.
-
+through \texttt{dynamic\_cast<>}.
 
 \wxheading{Predefined types}
 
 
 \wxheading{Predefined types}
 
@@ -69,8 +69,19 @@ wxTrackerNode
 
 <weakref.h>
 
 
 <weakref.h>
 
+\wxheading{See also}
+
+\helpref{wxSharedPtr}{wxsharedptr}, \helpref{wxScopedPtr}{wxscopedptrtemplate}
+
 \wxheading{Data structures}
 
 \wxheading{Data structures}
 
+{\small% 
+\begin{verbatim}
+typedef T element_type
+\end{verbatim}
+}%
+
+
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
@@ -94,6 +105,15 @@ Destructor.
 
 Returns pointer to the tracked object or NULL.
 
 
 Returns pointer to the tracked object or NULL.
 
+\membersection{wxWeakRef<T>::operator unspecified\_bool\_type}\label{wxweakrefoperatorbool}
+
+\constfunc{}{operator unspecified\_bool\_type}{\void}
+
+Conversion to a boolean expression (in a variant which is not 
+convertable to anything but a boolean expression). If this class
+contains a valid pointer it will return {\it true}, if it contains
+a NULL pointer it will return {\it false}.
+
 
 \membersection{wxWeakRef<T>::operator*}\label{wxweakrefoperatorreft}
 
 
 \membersection{wxWeakRef<T>::operator*}\label{wxweakrefoperatorreft}