]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynarray.h
GetClientData(int n) should be const (part of patch 649438)
[wxWidgets.git] / include / wx / dynarray.h
index b31d5b3b4d4f0ecf298f15769abd4ffa5e612ec2..c1d42f59f358fb64b53dfda616c9b404cd150cbe 100644 (file)
@@ -346,8 +346,9 @@ public:                                                               \
                                                                       \
   class reverse_iterator                                              \
   {                                                                   \
-    typedef name::reference reference;                                \
-    typedef name::pointer pointer;                                    \
+    typedef T value_type;                                             \
+    typedef value_type& reference;                                    \
+    typedef value_type* pointer;                                      \
     typedef reverse_iterator itor;                                    \
     friend itor operator+(int o, const itor& it);                     \
     friend itor operator+(const itor& it, int o);                     \
@@ -371,8 +372,9 @@ public:                                                               \
                                                                       \
   class const_reverse_iterator                                        \
   {                                                                   \
-    typedef name::const_reference reference;                          \
-    typedef name::const_pointer pointer;                              \
+    typedef T value_type;                                             \
+    typedef const value_type& reference;                              \
+    typedef const value_type* pointer;                                \
     typedef const_reverse_iterator itor;                              \
     friend itor operator+(int o, const itor& it);                     \
     friend itor operator+(const itor& it, int o);                     \
@@ -455,10 +457,6 @@ inline name::difference_type operator -(const name::const_reverse_iterator& i1,\
 //    cannot handle types with size greater than pointer because of sorting
 // ----------------------------------------------------------------------------
 
-#define _WX_DEFINE_SORTED_TYPEARRAY(T, name, base, defcomp, classexp) \
-typedef int (CMPFUNC_CONV *SCMPFUNC##T)(T pItem1, T pItem2);          \
-_WX_DEFINE_SORTED_TYPEARRAY_2(T, name, base, defcomp, classexp, SCMPFUNC##T)
-
 #define _WX_DEFINE_SORTED_TYPEARRAY_2(T, name, base, defcomp, classexp, comptype)\
 wxCOMPILE_TIME_ASSERT2(sizeof(T) <= sizeof(void *),                   \
                        TypeTooBigToBeStoredInSorted##base,            \
@@ -658,8 +656,9 @@ private:                                                                 \
 
 #define WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY(T, name, base, expmode)  \
     typedef T _wxArray##name;                                             \
-    _WX_DEFINE_SORTED_TYPEARRAY(_wxArray##name, name, base,               \
-                                wxARRAY_EMPTY_CMP, class expmode)
+    typedef int (CMPFUNC_CONV *SCMPFUNC##name)(T pItem1, T pItem2);       \
+    _WX_DEFINE_SORTED_TYPEARRAY_2(_wxArray##name, name, base,             \
+                                wxARRAY_EMPTY_CMP, class expmode, SCMPFUNC##name)
 
 // ----------------------------------------------------------------------------
 // WX_DEFINE_SORTED_TYPEARRAY_CMP: exactly the same as above but the comparison
@@ -684,8 +683,9 @@ private:                                                                 \
 #define WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY_CMP(T, cmpfunc, name, base, \
                                                      expmode)                \
     typedef T _wxArray##name;                                                \
-    _WX_DEFINE_SORTED_TYPEARRAY(_wxArray##name, name, base, = cmpfunc,       \
-                                class expmode)
+    typedef int (CMPFUNC_CONV *SCMPFUNC##name)(T pItem1, T pItem2);          \
+    _WX_DEFINE_SORTED_TYPEARRAY_2(_wxArray##name, name, base, = cmpfunc,     \
+                                class expmode, SCMPFUNC##name)
 
 // ----------------------------------------------------------------------------
 // WX_DECLARE_OBJARRAY(T, name): this macro generates a new array class