handle error in GetDataSize()
[wxWidgets.git] / interface / wx / variant.h
index e276cce933274b25520aa58ed72fb872056f0776..3da7997746978e3829ebecc3fb3e2fc6348fe00d 100644 (file)
@@ -8,7 +8,6 @@
 
 /**
     @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.
@@ -98,75 +97,75 @@ public:
         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(wxDateTime& val, const wxString& name = wxEmptyString);
+
     /**
         Constructs a variant from a wxArrayString.
     */
-    wxVariant(wxArrayString& val, const wxString& name = "");
+    wxVariant(wxArrayString& val, const wxString& name = wxEmptyString);
 
     /**
         Destructor.
@@ -176,7 +175,7 @@ public:
               called. See @ref overview_refcount_destruct
               "reference-counted object destruction" for more info.
     */
-    ~wxVariant();
+    virtual ~wxVariant();
 
 
     /**
@@ -468,7 +467,6 @@ public:
 
 /**
     @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.
@@ -502,7 +500,7 @@ public:
         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
@@ -516,18 +514,18 @@ public:
     /**
         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
@@ -542,16 +540,16 @@ public:
     /**
         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;
 };