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 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.
Decreases reference count. If the count reaches zero, the object is automatically deleted.
Note that destructor of wxVariantData is protected, so delete cannot be used as normal. Instead, DecRef should be called.
bool Eq(wxVariantData& data) const
Returns true if this object is equal to data.
wxString GetType() const
Returns the string type of the data.
wxClassInfo* GetValueClassInfo() const
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.
Increases reference count. Note that initially wxVariantData has reference count of 1.
bool Read(ostream& stream)
bool Read(wxString& string)
Reads the data from stream or string.
bool Write(ostream& stream) const
bool Write(wxString& string) const
Writes the data to stream or string.
classname * wxGetVariantCast(wxVariant&, classname)
This macro returns the data stored in variant cast to the type classname * if the data is of this type (the check is done during the run-time) or NULL otherwise.