]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynarray.h
second part of Markus' BC++ fix
[wxWidgets.git] / include / wx / dynarray.h
index 109a89437c2b079649c3f23a2c402c470c8bb685..c72a62f6366609ef040d22090a33378a5b7ec508 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)
@@ -165,6 +164,7 @@ private:
 //    { ((wxBaseArray *)this)->operator=((const wxBaseArray&)src);
 // so using a temporary variable instead.
 // ----------------------------------------------------------------------------
+// __MAC_X__ added min ~name() below for compiling Mac X
 #define  _WX_DEFINE_ARRAY(T, name, classexp)                        \
 typedef int (CMPFUNC_CONV *CMPFUNC##T)(T *pItem1, T *pItem2);       \
 classexp name : public wxBaseArray                                  \
@@ -177,6 +177,7 @@ public:                                                             \
     if ( type > sizelong )                                          \
       { wxFAIL_MSG( _WX_ERROR_SIZEOF ); }                           \
   }                                                                 \
+  ~name() {}                                                        \
                                                                     \
   name& operator=(const name& src)                                  \
     { wxBaseArray* temp = (wxBaseArray*) this;                      \
@@ -304,7 +305,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 +317,7 @@ public:                                                             \
   void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); }  \
                                                                     \
 private:                                                            \
+  void DoEmpty();                                                   \
   void DoCopy(const name& src);                                     \
 }