# wxVariantData Class Reference
[Data Structures]

`#include <wx/variant.h>`

Inheritance diagram for wxVariantData:
[legend]

## Detailed Description

The wxVariantData class is used to implement a new type for wxVariant.

Derive from wxVariantData, and override the pure virtual functions.

wxVariantData is reference counted, but you don't normally have to care about this, 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 a reference count of 1, and passing it to wxVariant will not increase this. In other words, IncRef() needs to be called only if you both take ownership of wxVariantData and pass it to a wxVariant. Also note that the destructor is protected, so you can never explicitly delete a wxVariantData instance. Instead, DecRef() will delete the object automatically when the reference count reaches zero.

##

Library: wxBase

Category: Data Structures

See also:
  wxVariant, wxGetVariantCast()

## Public Member Functions
| wxVariantData ()
| Default constructor.
virtual wxVariantData * | Clone () const
| This function can be overridden to clone the data.
void | DecRef ()
| Decreases reference count.
virtual bool | Eq (wxVariantData &data) const =0
| Returns true if this object is equal to data.
virtual bool | GetAny (wxAny *any) const
| Converts value to wxAny, if possible.
virtual wxString | GetType () const =0
| Returns the string type of the data.
virtual wxClassInfo * | GetValueClassInfo ()
| If the data is a wxObject returns a pointer to the objects wxClassInfo structure, if the data isn't a wxObject the method returns NULL.
void | IncRef ()
| Increases reference count.
virtual bool | Read (istream &stream)
| Reads the data from stream.
virtual bool | Read (wxString &string)
| Reads the data from string.
virtual bool | Write (ostream &stream) const
| Writes the data to stream.
virtual bool | Write (wxString &string) const
| Writes the data to string.

List of all members.

## Constructor & Destructor Documentation

wxVariantData::wxVariantData | ( |  | ) |

Default constructor.

## Member Function Documentation

virtual wxVariantData* wxVariantData::Clone | ( |  | ) | const`[virtual]`

This function can be overridden to clone the data.

You must implement this function in order for wxVariant::Unshare() to work for your data. This function is implemented for all built-in data types.

void wxVariantData::DecRef | ( |  | ) |

Decreases reference count.

If the count reaches zero, the object is automatically deleted.

Note:
  The destructor of wxVariantData is protected, so delete cannot be used as normal. Instead, DecRef() should be called.

virtual bool wxVariantData::Eq | ( | wxVariantData & | data | ) | const`[pure virtual]`

Returns true if this object is equal to data.

virtual bool wxVariantData::GetAny | ( | wxAny * | any | ) | const`[virtual]`

Converts value to wxAny, if possible.

Return true if successful.

virtual wxString wxVariantData::GetType | ( |  | ) | const`[pure virtual]`

Returns the string type of the data.

virtual wxClassInfo* wxVariantData::GetValueClassInfo | ( |  | ) | `[virtual]`

If the data is a wxObject returns a pointer to the objects wxClassInfo structure, if the data isn't a wxObject the method returns NULL.

void wxVariantData::IncRef | ( |  | ) |

Increases reference count.

Note that initially wxVariantData has reference count of 1.

virtual bool wxVariantData::Read | ( | wxString & | string | ) | `[virtual]`

Reads the data from string.

virtual bool wxVariantData::Read | ( | istream & | stream | ) | `[virtual]`

Reads the data from stream.

virtual bool wxVariantData::Write | ( | wxString & | string | ) | const`[virtual]`

Writes the data to string.

virtual bool wxVariantData::Write | ( | ostream & | stream | ) | const`[virtual]`

Writes the data to stream.

|  | [ top ]