]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynarray.h
Made geometry class link.
[wxWidgets.git] / include / wx / dynarray.h
index fc49a0f260c5399e89f6f0b6d34e712352b05293..702df0bad0f1fbdc9aa4ec56ea83559dba331d1c 100644 (file)
@@ -17,7 +17,6 @@
 #endif
 
 #include "wx/defs.h"
-#include "wx/debug.h"
 
 /** @name Dynamic arrays and object arrays (array which own their elements)
     @memo Arrays which grow on demand and do range checking (only in debug)
@@ -304,7 +303,8 @@ public:                                                             \
   void Insert(const T* pItem, size_t uiIndex)                       \
     { wxBaseArray::Insert((long)pItem, uiIndex); }                  \
                                                                     \
-  void Empty();                                                     \
+  void Empty() { DoEmpty(); wxBaseArray::Empty(); }                 \
+  void Clear() { DoEmpty(); wxBaseArray::Clear(); }                 \
                                                                     \
   T*   Detach(size_t uiIndex)                                       \
     { T* p = (T*)wxBaseArray::Item(uiIndex);                        \
@@ -315,6 +315,7 @@ public:                                                             \
   void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); }  \
                                                                     \
 private:                                                            \
+  void DoEmpty();                                                   \
   void DoCopy(const name& src);                                     \
 }
 
@@ -448,6 +449,16 @@ WX_DEFINE_EXPORTED_ARRAY(void *, wxArrayPtrVoid);
 // convinience macros
 // -----------------------------------------------------------------------------
 
+// append all element of one array to another one
+#define WX_APPEND_ARRAY(array, other)                                         \
+    {                                                                         \
+        size_t count = other.Count();                                         \
+        for ( size_t n = 0; n < count; n++ )                                  \
+        {                                                                     \
+            array.Add(other[n]);                                              \
+        }                                                                     \
+    }
+
 // delete all array elements
 //
 // NB: the class declaration of the array elements must be visible from the