\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}
\end{verbatim}
}%
+\wxheading{See also}
+
+\helpref{wxScopedPtr}{wxscopedptrtemplate}, \helpref{wxWeakRef}{wxweakref},
+\helpref{wxObjectDataPtr}{wxobjectdataptr}
+
+
\latexignore{\rtfignore{\wxheading{Members}}}
Returns pointer to its object or NULL.
+\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}
\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}
\func{void}{reset}{\param{T * }{ptr = NULL}}
-Reset pointer to {\it ptr}. Afterwards the caller is responsible
-for deleting the data contained in the pointer before.
+Reset pointer to {\it ptr}. If the reference count of the
+previously owned pointer was 1 it will be deleted.