added release()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -71,11 +71,20 @@ legal name.
|
|||||||
Creates the smart pointer with the given pointer or none if NULL. On
|
Creates the smart pointer with the given pointer or none if NULL. On
|
||||||
compilers that support it, this uses the explicit keyword.
|
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}
|
\membersection{wxScopedPtr::reset}
|
||||||
|
|
||||||
\func{\void}{reset}{\param{T}{ p * = NULL}}
|
\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
|
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.
|
pointer you are assigning is not the same pointer that is already stored.
|
||||||
|
|
||||||
@@ -103,8 +112,8 @@ there is none.
|
|||||||
|
|
||||||
\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
|
Swap the pointer inside the smart pointer with {\it other}. The pointer being
|
||||||
must be of the same type (hence the same class name).
|
swapped must be of the same type (hence the same class name).
|
||||||
|
|
||||||
|
@@ -68,7 +68,7 @@ private: \
|
|||||||
name & operator=(name const &); \
|
name & operator=(name const &); \
|
||||||
\
|
\
|
||||||
public: \
|
public: \
|
||||||
wxEXPLICIT name(T * ptr = NULL) \
|
wxEXPLICIT name(T * ptr = NULL) \
|
||||||
: m_ptr(ptr) { } \
|
: m_ptr(ptr) { } \
|
||||||
\
|
\
|
||||||
~name(); \
|
~name(); \
|
||||||
@@ -82,6 +82,13 @@ public: \
|
|||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
|
T *release() \
|
||||||
|
{ \
|
||||||
|
T *ptr = m_ptr; \
|
||||||
|
m_ptr = NULL; \
|
||||||
|
return ptr; \
|
||||||
|
} \
|
||||||
|
\
|
||||||
T & operator*() const \
|
T & operator*() const \
|
||||||
{ \
|
{ \
|
||||||
wxASSERT(m_ptr != NULL); \
|
wxASSERT(m_ptr != NULL); \
|
||||||
|
Reference in New Issue
Block a user