git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21506
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Creates the smart pointer with the given pointer or none if NULL. On
compilers that support it, this uses the explicit keyword.
Creates the smart pointer with the given pointer or none if NULL. On
compilers that support it, this uses the explicit keyword.
+\membersection{wxScopedPtr::release}
+
+\func{T *}{release}{\void}
+
+Returns the currently hold pointer and resets the smart pointer object to
+{\tt NULL}. After a call to this function the caller is responsible for
+deleting the pointer.
+
+
\membersection{wxScopedPtr::reset}
\func{\void}{reset}{\param{T}{ p * = NULL}}
\membersection{wxScopedPtr::reset}
\func{\void}{reset}{\param{T}{ p * = NULL}}
-Deletes the currently held pointer and sets it to 'p' or to NULL if no
+Deletes the currently held pointer and sets it to {\it p} or to NULL if no
arguments are specified. This function does check to make sure that the
pointer you are assigning is not the same pointer that is already stored.
arguments are specified. This function does check to make sure that the
pointer you are assigning is not the same pointer that is already stored.
\membersection{wxScopedPtr::swap}
\membersection{wxScopedPtr::swap}
-\func{\void}{swap}{\param{wxScopedPtr}{ \& ot}}
+\func{\void}{swap}{\param{wxScopedPtr}{ \& other}}
-Swap the pointer inside the smart pointer with 'ot'. The pointer being swapped
-must be of the same type (hence the same class name).
+Swap the pointer inside the smart pointer with {\it other}. The pointer being
+swapped must be of the same type (hence the same class name).
name & operator=(name const &); \
\
public: \
name & operator=(name const &); \
\
public: \
- wxEXPLICIT name(T * ptr = NULL) \
+ wxEXPLICIT name(T * ptr = NULL) \
: m_ptr(ptr) { } \
\
~name(); \
: m_ptr(ptr) { } \
\
~name(); \
+ T *release() \
+ { \
+ T *ptr = m_ptr; \
+ m_ptr = NULL; \
+ return ptr; \
+ } \
+ \
T & operator*() const \
{ \
wxASSERT(m_ptr != NULL); \
T & operator*() const \
{ \
wxASSERT(m_ptr != NULL); \