]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/dynarray.h
Restored the old Classes by Category page to live side-by-side with the full Classes...
[wxWidgets.git] / interface / dynarray.h
index f538fa4b23d488fb8497319b7addef99fbc9a479..d5bc122cb97d454bf0990f89bd551dbafb474acc 100644 (file)
@@ -282,7 +282,7 @@ public:
         Linear search is used for the wxArray and wxObjArray classes but binary search
         in the sorted array is used for wxSortedArray (this is why searchFromEnd
         parameter doesn't make sense for it).
-        @b NB: even for wxObjArray classes, the operator==() of the elements in the
+        @note even for wxObjArray classes, the operator==() of the elements in the
         array is @b not used by this function. It searches exactly the given
         element in the array and so will only succeed if this element had been
         previously added to the array, but fail even if another, identical, element is
@@ -517,92 +517,6 @@ public:
     */
     void Sort(CMPFUNC<T> compareFunction);
 
-    /**
-        This macro may be used to append all elements of the @a other array to the
-        @e array. The two arrays must be of the same type.
-    */
-#define void WX_APPEND_ARRAY(wxArray& array, wxArray& other)     /* implementation is private */
-
-    /**
-        This macro may be used to delete all elements of the array before emptying it.
-        It can not be used with wxObjArrays - but they will delete their elements anyhow
-        when you call Empty().
-    */
-#define void WX_CLEAR_ARRAY(wxArray& array)     /* implementation is private */
-
-    //@{
-    /**
-        This macro declares a new object array class named @a name and containing
-        the elements of type @e T. The second form is used when compiling wxWidgets as
-        a DLL under Windows and array needs to be visible outside the DLL.  The third is
-        needed for exporting an array from a user DLL.
-        Example:
-
-        You must use WX_DEFINE_OBJARRAY() macro to define
-        the array class - otherwise you would get link errors.
-    */
-    WX_DECLARE_OBJARRAY(T, name);
-    WX_DECLARE_EXPORTED_OBJARRAY(T, name);
-    WX_DECLARE_USER_EXPORTED_OBJARRAY(T, name);
-    //@}
-
-    //@{
-    /**
-        This macro defines a new array class named @a name and containing the
-        elements of type @e T. The second form is used when compiling wxWidgets as
-        a DLL under Windows and array needs to be visible outside the DLL.  The third is
-        needed for exporting an array from a user DLL.
-        Example:
-
-        Note that wxWidgets predefines the following standard array classes: @b
-        wxArrayInt,
-        @b wxArrayLong, @b wxArrayShort, @b wxArrayDouble,  @b wxArrayPtrVoid.
-    */
-    WX_DEFINE_ARRAY(T, name);
-    WX_DEFINE_EXPORTED_ARRAY(T, name);
-    WX_DEFINE_USER_EXPORTED_ARRAY(T, name, exportspec);
-    //@}
-
-    //@{
-    /**
-        This macro defines the methods of the array class @a name not defined by the
-        WX_DECLARE_OBJARRAY() macro. You must include the
-        file wx/arrimpl.cpp before using this macro and you must have the full
-        declaration of the class of array elements in scope! If you forget to do the
-        first, the error will be caught by the compiler, but, unfortunately, many
-        compilers will not give any warnings if you forget to do the second - but the
-        objects of the class will not be copied correctly and their real destructor will
-        not be called.  The latter two forms are merely aliases of the first to satisfy
-        some people's sense of symmetry when using the exported declarations.
-        Example of usage:
-    */
-    WX_DEFINE_OBJARRAY(name);
-    WX_DEFINE_EXPORTED_OBJARRAY(name);
-    WX_DEFINE_USER_EXPORTED_OBJARRAY(name);
-    //@}
-
-    //@{
-    /**
-        This macro defines a new sorted array class named @a name and containing
-        the elements of type @e T. The second form is used when compiling wxWidgets as
-        a DLL under Windows and array needs to be visible outside the DLL.  The third is
-        needed for exporting an array from a user DLL.
-        Example:
-
-        You will have to initialize the objects of this class by passing a comparison
-        function to the array object constructor like this:
-    */
-    WX_DEFINE_SORTED_ARRAY(T, name);
-    WX_DEFINE_SORTED_EXPORTED_ARRAY(T, name);
-    WX_DEFINE_SORTED_USER_EXPORTED_ARRAY(T, name);
-    //@}
-
-    /**
-        This macro may be used to prepend all elements of the @a other array to the
-        @e array. The two arrays must be of the same type.
-    */
-#define void WX_PREPEND_ARRAY(wxArray& array, wxArray& other)     /* implementation is private */
-
     //@{
     /**
         The copy constructors and assignment operators perform a shallow array copy
@@ -630,3 +544,89 @@ public:
     //@}
 };
 
+
+/**
+    This macro may be used to append all elements of the @a other array to the
+    @e array. The two arrays must be of the same type.
+*/
+#define WX_APPEND_ARRAY(wxArray& array, wxArray& other)     /* implementation is private */
+
+/**
+    This macro may be used to delete all elements of the array before emptying it.
+    It can not be used with wxObjArrays - but they will delete their elements anyhow
+    when you call Empty().
+*/
+#define WX_CLEAR_ARRAY(wxArray& array)     /* implementation is private */
+
+//@{
+/**
+    This macro declares a new object array class named @a name and containing
+    the elements of type @e T. The second form is used when compiling wxWidgets as
+    a DLL under Windows and array needs to be visible outside the DLL.  The third is
+    needed for exporting an array from a user DLL.
+    Example:
+
+    You must use WX_DEFINE_OBJARRAY() macro to define
+    the array class - otherwise you would get link errors.
+*/
+#define WX_DECLARE_OBJARRAY(T, name)                   /* implementation is private */
+#define WX_DECLARE_EXPORTED_OBJARRAY(T, name)          /* implementation is private */
+#define WX_DECLARE_USER_EXPORTED_OBJARRAY(T, name)     /* implementation is private */
+//@}
+
+//@{
+/**
+    This macro defines a new array class named @a name and containing the
+    elements of type @e T. The second form is used when compiling wxWidgets as
+    a DLL under Windows and array needs to be visible outside the DLL.  The third is
+    needed for exporting an array from a user DLL.
+    Example:
+
+    Note that wxWidgets predefines the following standard array classes: @b
+    wxArrayInt,
+    @b wxArrayLong, @b wxArrayShort, @b wxArrayDouble,  @b wxArrayPtrVoid.
+*/
+#define WX_DEFINE_ARRAY(T, name)                            /* implementation is private */
+#define WX_DEFINE_EXPORTED_ARRAY(T, name)                   /* implementation is private */
+#define WX_DEFINE_USER_EXPORTED_ARRAY(T, name, exportspec)  /* implementation is private */
+//@}
+
+//@{
+/**
+    This macro defines the methods of the array class @a name not defined by the
+    WX_DECLARE_OBJARRAY() macro. You must include the
+    file wx/arrimpl.cpp before using this macro and you must have the full
+    declaration of the class of array elements in scope! If you forget to do the
+    first, the error will be caught by the compiler, but, unfortunately, many
+    compilers will not give any warnings if you forget to do the second - but the
+    objects of the class will not be copied correctly and their real destructor will
+    not be called.  The latter two forms are merely aliases of the first to satisfy
+    some people's sense of symmetry when using the exported declarations.
+    Example of usage:
+*/
+#define WX_DEFINE_OBJARRAY(name)                    /* implementation is private */
+#define WX_DEFINE_EXPORTED_OBJARRAY(name)           /* implementation is private */
+#define WX_DEFINE_USER_EXPORTED_OBJARRAY(name)      /* implementation is private */
+//@}
+
+//@{
+/**
+    This macro defines a new sorted array class named @a name and containing
+    the elements of type @e T. The second form is used when compiling wxWidgets as
+    a DLL under Windows and array needs to be visible outside the DLL.  The third is
+    needed for exporting an array from a user DLL.
+    Example:
+
+    You will have to initialize the objects of this class by passing a comparison
+    function to the array object constructor like this:
+*/
+#define WX_DEFINE_SORTED_ARRAY(T, name)                 /* implementation is private */
+#define WX_DEFINE_SORTED_EXPORTED_ARRAY(T, name)        /* implementation is private */
+#define WX_DEFINE_SORTED_USER_EXPORTED_ARRAY(T, name)   /* implementation is private */
+//@}
+
+/**
+    This macro may be used to prepend all elements of the @a other array to the
+    @e array. The two arrays must be of the same type.
+*/
+#define WX_PREPEND_ARRAY(wxArray& array, wxArray& other)     /* implementation is private */