]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dynarray.cpp
static wxFile::Access() added
[wxWidgets.git] / src / common / dynarray.cpp
index b501686ae5ce18143f50dada33e63959e2ee0cfb..40ada21b23988c2c63758363feb936696363c136 100644 (file)
@@ -24,6 +24,7 @@
 #endif
 
 #include "wx/dynarray.h"
+#include <wx/intl.h>
 
 #include <stdlib.h>
 #include <string.h> // for memmove
@@ -72,7 +73,7 @@ wxBaseArray::wxBaseArray(const wxBaseArray& src)
 // assignment operator
 wxBaseArray& wxBaseArray::operator=(const wxBaseArray& src)
 {
-  DELETEA(m_pItems);
+  wxDELETEA(m_pItems);
 
   m_uiSize  = // not src.m_uiSize to save memory
   m_uiCount = src.m_uiCount;
@@ -100,7 +101,8 @@ void wxBaseArray::Grow()
     else
     {
       // add 50% but not too much
-      uint uiIncrement = m_uiSize >> 1;
+      uint uiIncrement = m_uiSize < WX_ARRAY_DEFAULT_INITIAL_SIZE 
+                         ? WX_ARRAY_DEFAULT_INITIAL_SIZE : m_uiSize >> 1;
       if ( uiIncrement > ARRAY_MAXSIZE_INCREMENT )
         uiIncrement = ARRAY_MAXSIZE_INCREMENT;
       m_uiSize += uiIncrement;
@@ -117,7 +119,7 @@ void wxBaseArray::Grow()
 // dtor
 wxBaseArray::~wxBaseArray()
 {
-  DELETEA(m_pItems);
+  wxDELETEA(m_pItems);
 }
 
 // clears the list
@@ -126,8 +128,7 @@ void wxBaseArray::Clear()
   m_uiSize  =
   m_uiCount = 0;
 
-  DELETEA(m_pItems);
-  m_pItems = NULL;
+  wxDELETEA(m_pItems);
 }
 
 // pre-allocates memory (frees the previous data!)
@@ -137,7 +138,7 @@ void wxBaseArray::Alloc(uint uiSize)
 
   // only if old buffer was not big enough
   if ( uiSize > m_uiSize ) {
-    DELETEA(m_pItems);
+    wxDELETEA(m_pItems);
     m_pItems = new long[uiSize];
     m_uiSize  = uiSize;
   }
@@ -169,7 +170,7 @@ int wxBaseArray::Index(long lItem, bool bFromEnd) const
 }
 
 // search for an item in a sorted array (binary search)
-int wxBaseArray::Index(long lItem, CMPFUNC fnCompare)
+int wxBaseArray::Index(long lItem, CMPFUNC fnCompare) const
 {
   uint i,
        lo = 0,
@@ -227,7 +228,7 @@ void wxBaseArray::Add(long lItem, CMPFUNC fnCompare)
 // add item at the given position
 void wxBaseArray::Insert(long lItem, uint uiIndex)
 {
-  wxCHECK_RET( uiIndex <= m_uiCount, "bad index in wxArray::Insert" );
+  wxCHECK_RET( uiIndex <= m_uiCount, _("bad index in wxArray::Insert") );
 
   Grow();
 
@@ -240,7 +241,7 @@ void wxBaseArray::Insert(long lItem, uint uiIndex)
 // removes item from array (by index)
 void wxBaseArray::Remove(uint uiIndex)
 {
-  wxCHECK_RET( uiIndex <= m_uiCount, "bad index in wxArray::Remove" );
+  wxCHECK_RET( uiIndex <= m_uiCount, _("bad index in wxArray::Remove") );
 
   memmove(&m_pItems[uiIndex], &m_pItems[uiIndex + 1],
           (m_uiCount - uiIndex - 1)*sizeof(long));
@@ -253,7 +254,7 @@ void wxBaseArray::Remove(long lItem)
   int iIndex = Index(lItem);
 
   wxCHECK_RET( iIndex != NOT_FOUND,
-               "removing inexistent item in wxArray::Remove" );
+               _("removing inexistent item in wxArray::Remove") );
 
   Remove((uint)iIndex);
 }