]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/sharedptr.tex
no changes, just come cleanup and more comments
[wxWidgets.git] / docs / latex / wx / sharedptr.tex
index 2a4c4cb7f633540e7a3f53867ba14e613a172e7e..ac6400c13a2a2d45db100e891f223bbbefc505df 100644 (file)
@@ -1,6 +1,9 @@
 \section{\class{wxSharedPtr<T>}}\label{wxsharedptr}
 
-A smart pointer with non-intrusive reference counting.
+A smart pointer with non-intrusive reference counting. It is modeled
+after {\bf boost::shared\_ptr<>} and can be used with STL containers 
+and \helpref{wxVector<>}{wxvector} - unlike {\bf std::auto\_ptr<>}
+and \helpref{wxScopedPtr<>}{wxscopedptrtemplate}.
 
 \wxheading{Derived from}
 
@@ -12,9 +15,17 @@ No base class
 
 \wxheading{Data structures}
 
-{\small \begin{verbatim}
-typedef T element\_type
-\end{verbatim}}
+{\small% 
+\begin{verbatim}
+typedef T element_type
+\end{verbatim}
+}%
+
+\wxheading{See also}
+
+\helpref{wxScopedPtr}{wxscopedptrtemplate}, \helpref{wxWeakRef}{wxweakref},
+\helpref{wxObjectDataPtr}{wxobjectdataptr}
+
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -39,11 +50,21 @@ Destructor.
 
 Returns pointer to its object or NULL.
 
-\membersection{wxSharedPtr<T>::operator*}\label{wxsharedptroperatorptrt}
+\membersection{wxSharedPtr<T>::operator unspecified\_bool\_type}\label{wxsharedptroperatorbool}
+
+\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{wxSharedPtr<T>::operator*}\label{wxsharedptroperatorreft}
 
 \constfunc{T\&}{operator*}{\void}
 
-Returns pointer to its object or NULL.
+Returns a reference to the object. If the internal pointer is NULL this
+method will cause an assert in debug mode.
 
 \membersection{wxSharedPtr<T>::operator->}\label{wxsharedptroperatorderef}
 
@@ -55,7 +76,15 @@ Returns pointer to its object or NULL.
 
 \func{wxSharedPtr<T>\& operator}{operator=}{\param{const wxSharedPtr<T>\& }{tocopy}}
 
-Assignment operator.
+Assignment operator. Releases any previously held pointer
+and creates a reference to the same object as {\it topcopy}.
+
+\membersection{wxSharedPtr<T>::operator=}\label{wxsharedptroperatorassign2}
+
+\func{wxSharedPtr<T>\& operator}{operator=}{\param{T *}{ptr}}
+
+Assignment operator. Releases any previously held pointer
+and creates a reference to {\it ptr}.
 
 \membersection{wxSharedPtr<T>::unique}\label{wxsharedptrunique}
 
@@ -69,3 +98,10 @@ Returns true if this is the only pointer pointing to its object.
 
 Returns the number of pointers pointing to its object.
 
+\membersection{wxSharedPtr<T>::reset}\label{wxsharedptrreset}
+
+\func{void}{reset}{\param{T * }{ptr = NULL}}
+
+Reset pointer to {\it ptr}. If the reference count of the
+previously owned pointer was 1 it will be deleted.
+