]> git.saurik.com Git - wxWidgets.git/commitdiff
define arrays of chartoo as the existing ones can't be used to store char values...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 4 Nov 2006 12:51:01 +0000 (12:51 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 4 Nov 2006 12:51:01 +0000 (12:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dynarray.h
src/common/dynarray.cpp
tests/arrays/arrays.cpp

index be1a50a4db4ac29c9613441a4669e39d381aff26..3e9da36b53fe16f5b5bba18604b4aef4170041ad 100644 (file)
@@ -805,6 +805,7 @@ private:                                                                 \
 
 WX_DECLARE_USER_EXPORTED_BASEARRAY(const void *, wxBaseArrayPtrVoid,
                                    WXDLLIMPEXP_BASE);
+WX_DECLARE_USER_EXPORTED_BASEARRAY(char, wxBaseArrayChar, WXDLLIMPEXP_BASE);
 WX_DECLARE_USER_EXPORTED_BASEARRAY(short, wxBaseArrayShort, WXDLLIMPEXP_BASE);
 WX_DECLARE_USER_EXPORTED_BASEARRAY(int, wxBaseArrayInt, WXDLLIMPEXP_BASE);
 WX_DECLARE_USER_EXPORTED_BASEARRAY(long, wxBaseArrayLong, WXDLLIMPEXP_BASE);
@@ -830,6 +831,13 @@ WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble, WXDLLIMPEXP_BASE);
 #define WX_DEFINE_USER_EXPORTED_ARRAY_PTR(T, name, expmode)         \
     WX_DEFINE_TYPEARRAY_WITH_DECL_PTR(T, name, wxBaseArrayPtrVoid, expmode)
 
+#define WX_DEFINE_ARRAY_CHAR(T, name)                                 \
+    WX_DEFINE_TYPEARRAY_PTR(T, name, wxBaseArrayChar)
+#define WX_DEFINE_EXPORTED_ARRAY_CHAR(T, name)                        \
+    WX_DEFINE_EXPORTED_TYPEARRAY_PTR(T, name, wxBaseArrayChar)
+#define WX_DEFINE_USER_EXPORTED_ARRAY_CHAR(T, name, expmode)          \
+    WX_DEFINE_TYPEARRAY_WITH_DECL_PTR(T, name, wxBaseArrayChar, expmode)
+
 #define WX_DEFINE_ARRAY_SHORT(T, name)                                 \
     WX_DEFINE_TYPEARRAY_PTR(T, name, wxBaseArrayShort)
 #define WX_DEFINE_EXPORTED_ARRAY_SHORT(T, name)                        \
@@ -876,6 +884,13 @@ WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble, WXDLLIMPEXP_BASE);
 #define WX_DEFINE_SORTED_USER_EXPORTED_ARRAY(T, name, expmode)         \
     WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY(T, name, wxBaseArrayPtrVoid, expmode)
 
+#define WX_DEFINE_SORTED_ARRAY_CHAR(T, name)                          \
+    WX_DEFINE_SORTED_TYPEARRAY(T, name, wxBaseArrayChar)
+#define WX_DEFINE_SORTED_EXPORTED_ARRAY_CHAR(T, name)                 \
+    WX_DEFINE_SORTED_EXPORTED_TYPEARRAY(T, name, wxBaseArrayChar)
+#define WX_DEFINE_SORTED_USER_EXPORTED_ARRAY_CHAR(T, name, expmode)   \
+    WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY(T, name, wxBaseArrayChar, expmode)
+
 #define WX_DEFINE_SORTED_ARRAY_SHORT(T, name)                          \
     WX_DEFINE_SORTED_TYPEARRAY(T, name, wxBaseArrayShort)
 #define WX_DEFINE_SORTED_EXPORTED_ARRAY_SHORT(T, name)                 \
@@ -917,6 +932,15 @@ WX_DECLARE_USER_EXPORTED_BASEARRAY(double, wxBaseArrayDouble, WXDLLIMPEXP_BASE);
     WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY_CMP(T, cmpfunc, name,     \
                                                  wxBaseArrayPtrVoid, expmode)
 
+#define WX_DEFINE_SORTED_ARRAY_CMP_CHAR(T, cmpfunc, name)             \
+    WX_DEFINE_SORTED_TYPEARRAY_CMP(T, cmpfunc, name, wxBaseArrayChar)
+#define WX_DEFINE_SORTED_EXPORTED_ARRAY_CMP_CHAR(T, cmpfunc, name)    \
+    WX_DEFINE_SORTED_EXPORTED_TYPEARRAY_CMP(T, cmpfunc, name, wxBaseArrayChar)
+#define WX_DEFINE_SORTED_USER_EXPORTED_ARRAY_CMP_CHAR(T, cmpfunc,     \
+                                                       name, expmode)  \
+    WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY_CMP(T, cmpfunc, name,     \
+                                                 wxBaseArrayChar, expmode)
+
 #define WX_DEFINE_SORTED_ARRAY_CMP_SHORT(T, cmpfunc, name)             \
     WX_DEFINE_SORTED_TYPEARRAY_CMP(T, cmpfunc, name, wxBaseArrayShort)
 #define WX_DEFINE_SORTED_EXPORTED_ARRAY_CMP_SHORT(T, cmpfunc, name)    \
index 954326986ef1763c09929e91167c99b843457599..2157246df36176d6fc48917f64adbeaf86b5d2b0 100644 (file)
@@ -403,6 +403,7 @@ void name::insert(iterator it, const_iterator first, const_iterator last)   \
 #endif
 
 _WX_DEFINE_BASEARRAY(const void *, wxBaseArrayPtrVoid)
+_WX_DEFINE_BASEARRAY(char,         wxBaseArrayChar)
 _WX_DEFINE_BASEARRAY(short,        wxBaseArrayShort)
 _WX_DEFINE_BASEARRAY(int,          wxBaseArrayInt)
 _WX_DEFINE_BASEARRAY(long,         wxBaseArrayLong)
index e7c97b3f757eee4b81c4abe304e73ec42ce330c7..a776a2c1db82ce1f22cec37f260a67f9b3cef6fc 100644 (file)
@@ -125,12 +125,18 @@ int wxCMPFUNC_CONV name ## RevCompare(T* first, T* second)                    \
 
 typedef unsigned short ushort;
 
+DEFINE_COMPARE(Char, char);
 DEFINE_COMPARE(UShort, ushort);
 DEFINE_COMPARE(Int, int);
 
+WX_DEFINE_ARRAY_CHAR(char, wxArrayChar);
+WX_DEFINE_SORTED_ARRAY_CHAR(char, wxSortedArrayCharNoCmp);
+WX_DEFINE_SORTED_ARRAY_CMP_CHAR(char, CharCompareValues, wxSortedArrayChar);
+
 WX_DEFINE_ARRAY_SHORT(ushort, wxArrayUShort);
 WX_DEFINE_SORTED_ARRAY_SHORT(ushort, wxSortedArrayUShortNoCmp);
 WX_DEFINE_SORTED_ARRAY_CMP_SHORT(ushort, UShortCompareValues, wxSortedArrayUShort);
+
 WX_DEFINE_SORTED_ARRAY_CMP_INT(int, IntCompareValues, wxSortedArrayInt);
 
 // ----------------------------------------------------------------------------
@@ -148,6 +154,7 @@ private:
         CPPUNIT_TEST( wxObjArrayTest );
         CPPUNIT_TEST( wxArrayUShortTest );
         CPPUNIT_TEST( wxArrayIntTest );
+        CPPUNIT_TEST( wxArrayCharTest );
         CPPUNIT_TEST( TestSTL );
         CPPUNIT_TEST( Alloc );
     CPPUNIT_TEST_SUITE_END();
@@ -156,6 +163,7 @@ private:
     void wxObjArrayTest();
     void wxArrayUShortTest();
     void wxArrayIntTest();
+    void wxArrayCharTest();
     void TestSTL();
     void Alloc();
 
@@ -359,6 +367,8 @@ void ArraysTestCase::wxArray ## name ## Test()                                \
 
 TestArrayOf(UShort);
 
+TestArrayOf(Char);
+
 TestArrayOf(Int);
 
 void ArraysTestCase::Alloc()