/**
@class wxVariant
- @wxheader{variant.h}
The wxVariant class represents a container for any type. A variant's value
can be changed at run time, possibly to a different type of value.
Default constructor.
*/
wxVariant();
-
+
/**
Constructs a variant directly with a wxVariantData object. wxVariant
will take ownership of the wxVariantData and will not increase its
reference count.
*/
- wxVariant(wxVariantData* data, const wxString& name = "");
-
+ wxVariant(wxVariantData* data, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from another variant by increasing the reference
count.
*/
wxVariant(const wxVariant& variant);
-
+
/**
Constructs a variant from a wide string literal.
*/
- wxVariant(const wxChar* value, const wxString& name = "");
-
+ wxVariant(const wxChar* value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a string.
*/
- wxVariant(const wxString& value, const wxString& name = "");
-
+ wxVariant(const wxString& value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a wide char.
*/
- wxVariant(wxChar value, const wxString& name = "");
-
+ wxVariant(wxChar value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a long.
*/
- wxVariant(long value, const wxString& name = "");
-
+ wxVariant(long value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a bool.
*/
- wxVariant(bool value, const wxString& name = "");
-
+ wxVariant(bool value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a double.
*/
- wxVariant(double value, const wxString& name = "");
-
+ wxVariant(double value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a list of variants
*/
- wxVariant(const wxVariantList& value, const wxString& name = "");
-
+ wxVariant(const wxVariantList& value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a void pointer.
*/
- wxVariant(void* value, const wxString& name = "");
-
+ wxVariant(void* value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a pointer to an wxObject
derived class.
*/
- wxVariant(wxObject* value, const wxString& name = "");
-
+ wxVariant(wxObject* value, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a wxDateTime.
*/
- wxVariant(wxDateTime& val, const wxString& name = "");
-
+ wxVariant(const wxDateTime& val, const wxString& name = wxEmptyString);
+
/**
Constructs a variant from a wxArrayString.
*/
- wxVariant(wxArrayString& val, const wxString& name = "");
+ wxVariant(const wxArrayString& val, const wxString& name = wxEmptyString);
/**
Destructor.
called. See @ref overview_refcount_destruct
"reference-counted object destruction" for more info.
*/
- ~wxVariant();
+ virtual ~wxVariant();
/**
/**
Returns the character value.
*/
- wxChar GetChar() const;
+ wxUniChar GetChar() const;
/**
Returns a pointer to the internal variant data. To take ownership of
/**
Returns a constant reference to the variant name.
*/
- const wxString GetName() const;
+ const wxString& GetName() const;
/**
Gets the string value.
/**
Gets the void pointer value.
+
+ Notice that this method can be used for null objects (i.e. those for
+ which IsNull() returns @true) and will return @NULL for them.
*/
void* GetVoidPtr() const;
bool operator !=(const wxString& value) const;
bool operator !=(const wxChar* value) const;
bool operator !=(wxChar value) const;
- bool operator !=(const long value) const;
- bool operator !=(const bool value) const;
- bool operator !=(const double value) const;
+ bool operator !=(long value) const;
+ bool operator !=(bool value) const;
+ bool operator !=(double value) const;
bool operator !=(void* value) const;
bool operator !=(wxObject* value) const;
bool operator !=(const wxVariantList& value) const;
void operator =(const wxString& value);
void operator =(const wxChar* value);
void operator =(wxChar value);
- void operator =(const long value);
- void operator =(const bool value);
- void operator =(const double value);
+ void operator =(long value);
+ void operator =(bool value);
+ void operator =(double value);
void operator =(void* value);
void operator =(wxObject* value);
void operator =(const wxVariantList& value);
bool operator ==(const wxString& value) const;
bool operator ==(const wxChar* value) const;
bool operator ==(wxChar value) const;
- bool operator ==(const long value) const;
- bool operator ==(const bool value) const;
- bool operator ==(const double value) const;
+ bool operator ==(long value) const;
+ bool operator ==(bool value) const;
+ bool operator ==(double value) const;
bool operator ==(void* value) const;
bool operator ==(wxObject* value) const;
bool operator ==(const wxVariantList& value) const;
/**
@class wxVariantData
- @wxheader{variant.h}
The wxVariantData class is used to implement a new type for wxVariant.
Derive from wxVariantData, and override the pure virtual functions.
this function in order for wxVariant::Unshare() to work for your data.
This function is implemented for all built-in data types.
*/
- wxVariantData* Clone() const;
+ virtual wxVariantData* Clone() const;
/**
Decreases reference count. If the count reaches zero, the object is
/**
Returns @true if this object is equal to @a data.
*/
- bool Eq(wxVariantData& data) const;
+ virtual bool Eq(wxVariantData& data) const = 0;
/**
Returns the string type of the data.
*/
- wxString GetType() const;
+ virtual wxString GetType() const = 0;
/**
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.
*/
- wxClassInfo* GetValueClassInfo() const;
+ virtual wxClassInfo* GetValueClassInfo();
/**
Increases reference count. Note that initially wxVariantData has
/**
Reads the data from @a stream.
*/
- bool Read(ostream& stream);
+ virtual bool Read(istream& stream);
+
/**
Reads the data from @a string.
*/
- bool Read(wxString& string);
+ virtual bool Read(wxString& string);
/**
Writes the data to @a stream.
*/
- bool Write(ostream& stream) const;
+ virtual bool Write(ostream& stream) const;
/**
Writes the data to @a string.
*/
- bool Write(wxString& string) const;
+ virtual bool Write(wxString& string) const;
};
// Global functions/macros
// ============================================================================
-/** @ingroup group_funcmacro_rtti */
+/** @addtogroup group_funcmacro_rtti */
//@{
/**