wxVariant and wxVariantData are ref counted too (patch 1624344)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -64,7 +64,9 @@ and copy constructors since they are reference-counted:
|
|||||||
\helpref{wxPalette}{wxpalette}\\
|
\helpref{wxPalette}{wxpalette}\\
|
||||||
\helpref{wxPen}{wxpen}\\
|
\helpref{wxPen}{wxpen}\\
|
||||||
\helpref{wxRegion}{wxregion}\\
|
\helpref{wxRegion}{wxregion}\\
|
||||||
\helpref{wxString}{wxstring}
|
\helpref{wxString}{wxstring}\\
|
||||||
|
\helpref{wxVariant}{wxvariant}\\
|
||||||
|
\helpref{wxVariantData}{wxvariantdata}
|
||||||
|
|
||||||
Note that the list above reports the objects which are reference-counted in all ports of
|
Note that the list above reports the objects which are reference-counted in all ports of
|
||||||
wxWidgets; some ports may use this tecnique also for other classes.
|
wxWidgets; some ports may use this tecnique also for other classes.
|
||||||
|
@@ -34,12 +34,12 @@ for different data types, or a remote procedure call protocol.
|
|||||||
An optional name member is associated with a wxVariant. This might be used, for example,
|
An optional name member is associated with a wxVariant. This might be used, for example,
|
||||||
in CORBA or OLE automation classes, where named parameters are required.
|
in CORBA or OLE automation classes, where named parameters are required.
|
||||||
|
|
||||||
Note that as of wxWidgets 2.7.1, wxVariant is reference counted. Additionally, the
|
Note that as of wxWidgets 2.7.1, wxVariant is \helpref{reference counted}{trefcount}.
|
||||||
conveniance macros {\bf DECLARE\_VARIANT\_OBJECT} and {\bf IMPLEMENT\_VARIANT\_OBJECT}
|
Additionally, the convenience macros {\bf DECLARE\_VARIANT\_OBJECT} and
|
||||||
were added so that adding (limited) support for conversion to and from wxVariant
|
{\bf IMPLEMENT\_VARIANT\_OBJECT} were added so that adding (limited) support
|
||||||
can be very easily implemented without modifiying either wxVariant or the class
|
for conversion to and from wxVariant can be very easily implemented without modifying
|
||||||
to be stored by wxVariant. Since assignement operators cannot be declared outside
|
either wxVariant or the class to be stored by wxVariant. Since assignment operators
|
||||||
the class, the shift left operators are used like this:
|
cannot be declared outside the class, the shift left operators are used like this:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
// in the header file
|
// in the header file
|
||||||
@@ -94,7 +94,7 @@ Default constructor.
|
|||||||
|
|
||||||
\func{}{wxVariant}{\param{const wxVariant\& }{variant}}
|
\func{}{wxVariant}{\param{const wxVariant\& }{variant}}
|
||||||
|
|
||||||
Copy constructor.
|
Copy constructor, uses \helpref{reference counting}{trefcount}.
|
||||||
|
|
||||||
\func{}{wxVariant}{\param{const wxChar*}{ value}, \param{const wxString\& }{name = ``"}}
|
\func{}{wxVariant}{\param{const wxChar*}{ value}, \param{const wxString\& }{name = ``"}}
|
||||||
|
|
||||||
@@ -165,6 +165,7 @@ Destructor.
|
|||||||
|
|
||||||
Note that destructor is protected, so wxVariantData cannot usually
|
Note that destructor is protected, so wxVariantData cannot usually
|
||||||
be deleted. Instead, \helpref{DecRef}{wxvariantdatadecref} should be called.
|
be deleted. Instead, \helpref{DecRef}{wxvariantdatadecref} should be called.
|
||||||
|
See \helpref{reference-counted object destruction}{refcountdestruct} for more info.
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxVariant::Append}\label{wxvariantappend}
|
\membersection{wxVariant::Append}\label{wxvariantappend}
|
||||||
@@ -382,7 +383,7 @@ Sets the internal variant data, deleting the existing data if there is any.
|
|||||||
|
|
||||||
\func{void}{operator $=$}{\param{const TIMESTAMP\_STRUCT* }{value}}
|
\func{void}{operator $=$}{\param{const TIMESTAMP\_STRUCT* }{value}}
|
||||||
|
|
||||||
Assignment operators.
|
Assignment operators, using \helpref{reference counting}{trefcount} when possible.
|
||||||
|
|
||||||
\membersection{wxVariant::operator $==$}\label{wxvarianteq}
|
\membersection{wxVariant::operator $==$}\label{wxvarianteq}
|
||||||
|
|
||||||
@@ -485,13 +486,18 @@ Operator for implicit conversion to a pointer to a void, using \helpref{wxVarian
|
|||||||
|
|
||||||
Operator for implicit conversion to a pointer to a \helpref{wxDateTime}{wxdatetime}, using \helpref{wxVariant::GetDateTime}{wxvariantgetdatetime}.
|
Operator for implicit conversion to a pointer to a \helpref{wxDateTime}{wxdatetime}, using \helpref{wxVariant::GetDateTime}{wxvariantgetdatetime}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%% wxVariantData
|
||||||
|
|
||||||
|
|
||||||
\section{\class{wxVariantData}}\label{wxvariantdata}
|
\section{\class{wxVariantData}}\label{wxvariantdata}
|
||||||
|
|
||||||
The {\bf wxVariantData} is used to implement a new type for wxVariant. Derive from wxVariantData,
|
The {\bf wxVariantData} class is used to implement a new type for \helpref{wxVariant}{wxvariant}.
|
||||||
and override the pure virtual functions.
|
Derive from wxVariantData, and override the pure virtual functions.
|
||||||
|
|
||||||
wxVariantData is reference counted, but you don't normally have to care about this, as
|
wxVariantData is \helpref{reference counted}{refcount}, but you don't normally have to care about this,
|
||||||
wxVariant manages the count automatically. However, incase your application needs to take
|
as wxVariant manages the count automatically. However, in case your application needs to take
|
||||||
ownership of wxVariantData, be aware that the object is created with reference count of 1,
|
ownership of wxVariantData, be aware that the object is created with reference count of 1,
|
||||||
and passing it to wxVariant will not increase this. In other words, \helpref{IncRef}{wxvariantdataincref}
|
and passing it to wxVariant will not increase this. In other words, \helpref{IncRef}{wxvariantdataincref}
|
||||||
needs to be called only if you both take ownership of wxVariantData and pass it to a wxVariant.
|
needs to be called only if you both take ownership of wxVariantData and pass it to a wxVariant.
|
||||||
@@ -527,7 +533,9 @@ Decreases reference count. If the count reaches zero, the object is
|
|||||||
automatically deleted.
|
automatically deleted.
|
||||||
|
|
||||||
Note that destructor of wxVariantData is protected, so delete
|
Note that destructor of wxVariantData is protected, so delete
|
||||||
cannot be used as normal. Instead, DecRef should be called.
|
cannot be used as normal. Instead, \helpref{DecRef}{wxvariantdatadecref} should be called.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxVariantData::Eq}\label{wxvariantdataeq}
|
\membersection{wxVariantData::Eq}\label{wxvariantdataeq}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user