\section{\class{wxSharedPtr}}\label{wxsharedptr} 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} No base class \wxheading{Include files} \wxheading{Data structures} {\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}}} \membersection{wxSharedPtr::wxSharedPtr}\label{wxsharedptrwxsharedptr} \func{wxEXPLICIT}{wxSharedPtr}{\param{T* }{ptr = NULL}} \func{}{wxSharedPtr}{\param{const wxSharedPtr\& }{tocopy}} Constructors. \membersection{wxSharedPtr::\destruct{wxSharedPtr}}\label{wxsharedptrdtor} \func{}{\destruct{wxSharedPtr}}{\void} Destructor. \membersection{wxSharedPtr::get}\label{wxsharedptrget} \constfunc{T*}{get}{\void} Returns pointer to its object or NULL. \membersection{wxSharedPtr::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::operator*}\label{wxsharedptroperatorreft} \constfunc{T\&}{operator*}{\void} Returns a reference to the object. If the internal pointer is NULL this method will cause an assert in debug mode. \membersection{wxSharedPtr::operator->}\label{wxsharedptroperatorderef} \constfunc{T*}{operator->}{\void} Returns pointer to its object or NULL. \membersection{wxSharedPtr::operator=}\label{wxsharedptroperatorassign} \func{wxSharedPtr\& operator}{operator=}{\param{const wxSharedPtr\& }{tocopy}} Assignment operator. Releases any previously held pointer and creates a reference to the same object as {\it topcopy}. \membersection{wxSharedPtr::operator=}\label{wxsharedptroperatorassign2} \func{wxSharedPtr\& operator}{operator=}{\param{T *}{ptr}} Assignment operator. Releases any previously held pointer and creates a reference to {\it ptr}. \membersection{wxSharedPtr::unique}\label{wxsharedptrunique} \constfunc{bool}{unique}{\void} Returns true if this is the only pointer pointing to its object. \membersection{wxSharedPtr::use\_count}\label{wxsharedptruse\_count} \constfunc{long}{use\_count}{\void} Returns the number of pointers pointing to its object. \membersection{wxSharedPtr::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.