]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/variant.h
some more comments about wxSortedArrayString::Sort
[wxWidgets.git] / interface / variant.h
index 5034f9f0551fd1ebbc37aedf4c4090ab7a6b5f07..0e475b6210f4384f6ac07f71d14530731f9f1a3d 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        variant.h
-// Purpose:     documentation for wxVariant class
+// Purpose:     interface of wxVariant
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
@@ -99,8 +99,7 @@
     @library{wxbase}
     @category{data}
 
-    @seealso
-    wxVariantData
+    @see wxVariantData
 */
 class wxVariant : public wxObject
 {
@@ -132,7 +131,6 @@ public:
 
     /**
         Destructor.
-        
         Note that destructor is protected, so wxVariantData cannot usually
         be deleted. Instead, wxVariantData::DecRef should be called.
         See @ref overview_refcountdestruct "reference-counted object destruction" for
@@ -158,40 +156,40 @@ public:
 
     //@{
     /**
-        Retrieves and converts the value of this variant to the type that @e value is.
+        Retrieves and converts the value of this variant to the type that @a value is.
     */
-    bool Convert(long* value);
-    bool Convert(bool* value);
-    bool Convert(double* value);
-    bool Convert(wxString* value);
-    bool Convert(wxChar* value);
-    bool Convert(wxDateTime* value);
+    bool Convert(long* value) const;
+    const bool Convert(bool* value) const;
+    const bool Convert(double* value) const;
+    const bool Convert(wxString* value) const;
+    const bool Convert(wxChar* value) const;
+    const bool Convert(wxDateTime* value) const;
     //@}
 
     /**
-        Deletes the zero-based @e item from the list.
+        Deletes the zero-based @a item from the list.
     */
     bool Delete(size_t item);
 
     /**
         Returns the string array value.
     */
-    wxArrayString GetArrayString();
+    wxArrayString GetArrayString() const;
 
     /**
         Returns the boolean value.
     */
-    bool GetBool();
+    bool GetBool() const;
 
     /**
         Returns the character value.
     */
-    wxChar GetChar();
+    wxChar GetChar() const;
 
     /**
         Returns the number of elements in the list.
     */
-    size_t GetCount();
+    size_t GetCount() const;
 
     /**
         Returns a pointer to the internal variant data. To take ownership
@@ -199,57 +197,56 @@ public:
         method. When you stop using it, wxVariantData::DecRef
         must be likewise called.
     */
-    wxVariantData* GetData();
+    wxVariantData* GetData() const;
 
     /**
         Returns the date value.
     */
-    wxDateTime GetDateTime();
+    wxDateTime GetDateTime() const;
 
     /**
         Returns the floating point value.
     */
-    double GetDouble();
+    double GetDouble() const;
 
     /**
         Returns a reference to the wxVariantList class used by
         wxVariant if this wxVariant is currently a list of variants.
     */
-    wxVariantList GetList();
+    wxVariantList GetList() const;
 
     /**
         Returns the integer value.
     */
-    long GetLong();
+    long GetLong() const;
 
     /**
         Returns a constant reference to the variant name.
     */
-    const wxString GetName();
+    const wxString GetName() const;
 
     /**
         Gets the string value.
     */
-    wxString GetString();
+    wxString GetString() const;
 
     /**
         Returns the value type as a string. The built-in types are: bool, char,
         datetime, double, list, long, string, arrstring, void*.
-        
         If the variant is null, the value type returned is the string "null" (not the
         empty string).
     */
-    wxString GetType();
+    wxString GetType() const;
 
     /**
         Gets the void pointer value.
     */
-    void* GetVoidPtr();
+    void* GetVoidPtr() const;
 
     /**
         Gets the wxObject pointer value.
     */
-    wxObject* GetWxObjectPtr();
+    wxObject* GetWxObjectPtr() const;
 
     /**
         Inserts a value at the front of the list.
@@ -260,18 +257,18 @@ public:
         Returns @true if there is no data associated with this variant, @false if there
         is data.
     */
-    bool IsNull();
+    bool IsNull() const;
 
     /**
-        Returns @true if @e type matches the type of the variant, @false otherwise.
+        Returns @true if @a type matches the type of the variant, @false otherwise.
     */
-    bool IsType(const wxString& type);
+    bool IsType(const wxString& type) const;
 
     /**
         Returns @true if the data is derived from the class described by @e type, @false
         otherwise.
     */
-    bool IsValueKindOf(const wxClassInfo* type type);
+    bool IsValueKindOf(const wxClassInfo* type type) const;
 
     /**
         Makes the variant null by deleting the internal data.
@@ -281,12 +278,12 @@ public:
     /**
         Makes a string representation of the variant value (for any type).
     */
-    wxString MakeString();
+    wxString MakeString() const;
 
     /**
-        Returns @true if @e value matches an element in the list.
+        Returns @true if @a value matches an element in the list.
     */
-    bool Member(const wxVariant& value);
+    bool Member(const wxVariant& value) const;
 
     /**
         Makes an empty list. This differs from a null variant which has no data; a null
@@ -312,18 +309,18 @@ public:
     /**
         Inequality test operators.
     */
-    bool operator !=(const wxVariant& value);
-    bool operator !=(const wxString& value);
-    bool operator !=(const wxChar* value);
-    bool operator !=(wxChar value);
-    bool operator !=(const long value);
-    bool operator !=(const bool value);
-    bool operator !=(const double value);
-    bool operator !=(void* value);
-    bool operator !=(wxObject* value);
-    bool operator !=(const wxVariantList& value);
-    bool operator !=(const wxArrayString& value);
-    bool operator !=(const wxDateTime& value);
+    bool operator !=(const wxVariant& value) const;
+    const bool operator !=(const wxString& value) const;
+    const bool operator !=(const wxChar* value) const;
+    const bool operator !=(wxChar value) const;
+    const bool operator !=(const long value) const;
+    const bool operator !=(const bool value) const;
+    const bool operator !=(const double value) const;
+    const bool operator !=(void* value) const;
+    const bool operator !=(wxObject* value) const;
+    const bool operator !=(const wxVariantList& value) const;
+    const bool operator !=(const wxArrayString& value) const;
+    const bool operator !=(const wxDateTime& value) const;
     //@}
 
     //@{
@@ -353,60 +350,61 @@ public:
     /**
         Equality test operators.
     */
-    bool operator ==(const wxVariant& value);
-    bool operator ==(const wxString& value);
-    bool operator ==(const wxChar* value);
-    bool operator ==(wxChar value);
-    bool operator ==(const long value);
-    bool operator ==(const bool value);
-    bool operator ==(const double value);
-    bool operator ==(void* value);
-    bool operator ==(wxObject* value);
-    bool operator ==(const wxVariantList& value);
-    bool operator ==(const wxArrayString& value);
-    bool operator ==(const wxDateTime& value);
+    bool operator ==(const wxVariant& value) const;
+    const bool operator ==(const wxString& value) const;
+    const bool operator ==(const wxChar* value) const;
+    const bool operator ==(wxChar value) const;
+    const bool operator ==(const long value) const;
+    const bool operator ==(const bool value) const;
+    const bool operator ==(const double value) const;
+    const bool operator ==(void* value) const;
+    const bool operator ==(wxObject* value) const;
+    const bool operator ==(const wxVariantList& value) const;
+    const bool operator ==(const wxArrayString& value) const;
+    const bool operator ==(const wxDateTime& value) const;
     //@}
 
     //@{
     /**
-        Returns a reference to the value at @e idx (zero-based). This can be used
+        Returns a reference to the value at @a idx (zero-based). This can be used
         to change the value at this index.
     */
     wxVariant operator [](size_t idx);
-    wxVariant operator [](size_t idx);
+    const wxVariant&  operator [](size_t idx);
     //@}
 
     //@{
     /**
         Operator for implicit conversion to a long, using GetLong().
     */
-    double operator double();
-    long operator long();
+    double operator double() const;
+    const long operator long() const;
     //@}
 
     /**
         Operator for implicit conversion to a pointer to a void, using GetVoidPtr().
     */
-    void* operator void*();
+    void* operator void*() const;
 
     /**
         Operator for implicit conversion to a wxChar, using GetChar().
     */
-    char operator wxChar();
+    char operator wxChar() const;
 
     /**
         Operator for implicit conversion to a pointer to a wxDateTime, using
         GetDateTime().
     */
-    void* operator wxDateTime();
+    void* operator wxDateTime() const;
 
     /**
         Operator for implicit conversion to a string, using MakeString().
     */
-    wxString operator wxString();
+    wxString operator wxString() const;
 };
 
 
+
 /**
     @class wxVariantData
     @wxheader{variant.h}
@@ -432,8 +430,7 @@ public:
     @library{wxbase}
     @category{FIXME}
 
-    @seealso
-    wxVariant
+    @see wxVariant
 */
 class wxVariantData
 {
@@ -448,12 +445,11 @@ public:
         Implement Clone if you wish wxVariant::Unshare to work
         for your data. This function is implemented for all built-in data types.
     */
-    wxVariantData* Clone();
+    wxVariantData* Clone() const;
 
     /**
         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.
     */
@@ -462,19 +458,19 @@ public:
     /**
         Returns @true if this object is equal to @e data.
     */
-#define bool Eq(wxVariantData& data)     /* implementation is private */
+    bool Eq(wxVariantData& data) const;
 
     /**
         Returns the string type of the data.
     */
-    wxString GetType();
+    wxString GetType() 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.
     */
-    wxClassInfo* GetValueClassInfo();
+    wxClassInfo* GetValueClassInfo() const;
 
     /**
         Increases reference count. Note that initially wxVariantData has reference
@@ -484,7 +480,7 @@ public:
 
     //@{
     /**
-        Reads the data from @e stream or @e string.
+        Reads the data from @a stream or @e string.
     */
     bool Read(ostream& stream);
     bool Read(wxString& string);
@@ -492,10 +488,10 @@ public:
 
     //@{
     /**
-        Writes the data to @e stream or @e string.
+        Writes the data to @a stream or @e string.
     */
-    bool Write(ostream& stream);
-    bool Write(wxString& string);
+    bool Write(ostream& stream) const;
+    const bool Write(wxString& string) const;
     //@}
 
     /**
@@ -504,5 +500,6 @@ public:
         the data is of this type (the check is done during the run-time) or
         @NULL otherwise.
     */
-    classname * wxGetVariantCast();
+    classname* wxGetVariantCast();
 };
+