]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/any.h
Added wxPGProperty::Enable() for conveniency. Refactored related code and improved...
[wxWidgets.git] / interface / wx / any.h
index b7e1fe07258fcc04f53928aa9ce2573899f1f079..de177e1430e2d23bde4d13368972eeb888db94b7 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxAny
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxAny
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
 
     When compared to wxVariant, there are various internal implementation
     differences as well. For instance, wxAny only allocates separate data
 
     When compared to wxVariant, there are various internal implementation
     differences as well. For instance, wxAny only allocates separate data
-    object in heap for large (i.e. size in bytes more than
-    WX_ANY_VALUE_BUFFER_SIZE) or non-POD (Plain Old Data) data types.
-    Pointers, integers, bools etc. are fitted in the wxAny's internal buffer
-    without need for any extra allocation. It is possible that wxAny cannot
-    automatically determine if your own data structure is considered a
-    POD or not, so you may need to declare it as such explicitly, using
-    code like this:
-
-    @code
-    #include "wx/meta/pod.h"
-    WX_DECLARE_TYPE_POD(MyPodStruct)
-    @endcode
-
-    Be extra careful what you declare as Plain Old Data. It must be such data
-    that can be copied with memcpy() without corrupting program integrity. For
-    instance, POD structures usually cannot contain pointers or references to
-    other data. wxRect, wxPoint, and wxSize are good examples of POD
-    classes.
-
-    Note that pointers to any and all types are already automatically
-    declared as Plain Old Data.
+    object in heap for large objects (i.e. ones with size more than
+    WX_ANY_VALUE_BUFFER_SIZE, which at the time of writing is 16 bytes).
 
     @library{wxbase}
     @category{data}
 
     @library{wxbase}
     @category{data}
@@ -159,14 +140,21 @@ public:
         Returns the value type as wxAnyValueType instance.
 
         @remarks You cannot reliably test whether two wxAnys are of
         Returns the value type as wxAnyValueType instance.
 
         @remarks You cannot reliably test whether two wxAnys are of
-                same value type by simply comparing return values
-                of wxAny::GetType(). Instead use
-                wxAnyValueType::CheckType<T>() template function.
+                 same value type by simply comparing return values
+                 of wxAny::GetType(). Instead, use wxAny::HasSameType().
+
+        @see HasSameType()
     */
     const wxAnyValueType* GetType() const;
 
     /**
     */
     const wxAnyValueType* GetType() const;
 
     /**
-        Tests if wxAny is null (that is, whether there is data).
+        Returns @true if this and another wxAny have the same
+        value type.
+    */
+    bool HasSameType(const wxAny& other) const;
+
+    /**
+        Tests if wxAny is null (that is, whether there is no data).
     */
     bool IsNull() const;
 
     */
     bool IsNull() const;