]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/vector.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / vector.h
index d558e774e603357e8a46623b21c2e7ff0f3318a1..b56b42e52daa3f4259c8a04dd693cbd45284e74d 100644 (file)
@@ -28,7 +28,6 @@ inline void wxVectorSort(wxVector<T>& v)
 
 #else // !wxUSE_STD_CONTAINERS
 
 
 #else // !wxUSE_STD_CONTAINERS
 
-#include "wx/utils.h"
 #include "wx/scopeguard.h"
 #include "wx/meta/movable.h"
 #include "wx/meta/if.h"
 #include "wx/scopeguard.h"
 #include "wx/meta/movable.h"
 #include "wx/meta/if.h"
@@ -37,6 +36,15 @@ inline void wxVectorSort(wxVector<T>& v)
 #include <new> // for placement new
 #include "wx/afterstd.h"
 
 #include <new> // for placement new
 #include "wx/afterstd.h"
 
+// wxQsort is declared in wx/utils.h, but can't include that file here,
+// it indirectly includes this file. Just lovely...
+typedef int (*wxSortCallback)(const void* pItem1,
+                              const void* pItem2,
+                              const void* user_data);
+WXDLLIMPEXP_BASE void wxQsort(void* pbase, size_t total_elems,
+                              size_t size, wxSortCallback cmp,
+                              const void* user_data);
+
 namespace wxPrivate
 {
 
 namespace wxPrivate
 {
 
@@ -242,10 +250,12 @@ public:
         // increase the size twice, unless we're already too big or unless
         // more is requested
         //
         // increase the size twice, unless we're already too big or unless
         // more is requested
         //
-        // NB: casts to size_type are needed to suppress mingw32 warnings about
-        //     mixing enums and ints in the same expression
+        // NB: casts to size_type are needed to suppress warnings about
+        //     mixing enumeral and non-enumeral type in conditional expression
         const size_type increment = m_size > 0
         const size_type increment = m_size > 0
-                                     ? wxMin(m_size, (size_type)ALLOC_MAX_SIZE)
+                                     ? m_size < ALLOC_MAX_SIZE
+                                        ? m_size
+                                        : (size_type)ALLOC_MAX_SIZE
                                      : (size_type)ALLOC_INITIAL_SIZE;
         if ( m_capacity + increment > n )
             n = m_capacity + increment;
                                      : (size_type)ALLOC_INITIAL_SIZE;
         if ( m_capacity + increment > n )
             n = m_capacity + increment;