X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a91225b27b4416488d299ef10053bb822e6a9bf4..81c882b613b5d99ddb1e5ab69fcd7ebccc287025:/docs/latex/wx/object.tex diff --git a/docs/latex/wx/object.tex b/docs/latex/wx/object.tex index d7c65cee43..0e2c9d9cf1 100644 --- a/docs/latex/wx/object.tex +++ b/docs/latex/wx/object.tex @@ -116,6 +116,16 @@ this one or is derived from it. bool tmp = obj->IsKindOf(CLASSINFO(wxFrame)); \end{verbatim} +\membersection{wxObject::IsSameAs}\label{wxobjectissameas} + +\func{bool}{IsSameAs}{\param{const wxObject\& }{ obj}} + +Returns \true if this object has the same data pointer as \arg{obj}. Notice +that \true is returned if the data pointers are \NULL in both objects. + +This function only does a \emph{shallow} comparison, i.e. it doesn't compare +the objects pointed to by the data pointers of these objects. + \membersection{wxObject::Ref}\label{wxobjectref} \func{void}{Ref}{\param{const wxObject\& }{clone}} @@ -165,6 +175,17 @@ The {\bf m\_refData} member is set to NULL. \helpref{wxObject::SetRefData}{wxobjectsetrefdata}, \helpref{wxObject::GetRefData}{wxobjectgetrefdata},\rtfsp \helpref{wxObjectRefData}{wxobjectrefdata} +\membersection{wxObject::UnShare}\label{wxobjectunshare} + +\func{void}{UnShare}{\void} + +Ensure that this object's data is not shared with any other object. + +if we have no +data, it is created using CreateRefData() below, if we have shared data +it is copied using CloneRefData(), otherwise nothing is done. + + \membersection{wxObject::operator new}\label{wxobjectnew} \func{void *}{new}{\param{size\_t }{size}, \param{const wxString\& }{filename = NULL}, \param{int}{ lineNum = 0}} @@ -181,6 +202,10 @@ The {\it delete} operator is defined for debugging versions of the library only, the identifier \_\_WXDEBUG\_\_ is defined. It takes over memory deallocation, allowing wxDebugContext operations. + + +%% wxObjectRefData + \section{\class{wxObjectRefData}}\label{wxobjectrefdata} This class is used to store reference-counted data. Derive classes from this to @@ -202,19 +227,36 @@ you will need to cast to your own derived class. \func{}{wxObjectRefData}{\void} -Default constructor. Initialises the {\bf m\_count} member to 1. +Default constructor. Initialises the internal reference count to 1. \membersection{wxObjectRefData::\destruct{wxObjectRefData}}\label{wxobjectrefdatadtor} \func{}{wxObjectRefData}{\void} -Destructor. +Destructor. It's declared {\tt protected} so that wxObjectRefData instances will never +be destroyed directly but only as result of a \helpref{DecRef}{wxobjectrefdatadecref} call. \membersection{wxObjectRefData::GetRefCount}\label{wxobjectrefdatagetrefcount} \constfunc{int}{GetRefCount}{\void} Returns the reference count associated with this shared data. -When this goes to zero during a \helpref{wxObject::UnRef}{wxobjectunref}, an object -can delete this {\bf wxObjectRefData} object. +When this goes to zero during a \helpref{DecRef}{wxobjectrefdatadecref} call, the object +will auto-free itself. + +\membersection{wxObjectRefData::DecRef}\label{wxobjectrefdatadecref} + +\func{void}{DecRef}{\void} + +Decrements the reference count associated with this shared data and, if it reaches zero, +destroys this instance of wxObjectRefData releasing its memory. + +Please note that after calling this function, the caller should absolutely avoid to use +the pointer to this instance since it may not be valid anymore. + +\membersection{wxObjectRefData::IncRef}\label{wxobjectrefdataincref} + +\func{void}{IncRef}{\void} + +Increments the reference count associated with this shared data.