]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/arrstr.h
Fix RCS-IDs
[wxWidgets.git] / include / wx / arrstr.h
index a78d09e9dd4bb3d46d63d51a78445098dc5e72bf..95b9506fdc82a3a1a066728a7cff7f737a056ad2 100644 (file)
 #include "wx/defs.h"
 #include "wx/string.h"
 
-WXDLLIMPEXP_BASE int wxCMPFUNC_CONV wxStringSortAscending(wxString*, wxString*);
-WXDLLIMPEXP_BASE int wxCMPFUNC_CONV wxStringSortDescending(wxString*, wxString*);
+// these functions are only used in STL build now but we define them in any
+// case for compatibility with the existing code outside of the library which
+// could be using them
+inline int wxCMPFUNC_CONV wxStringSortAscending(wxString* s1, wxString* s2)
+{
+    return s1->Cmp(*s2);
+}
+
+inline int wxCMPFUNC_CONV wxStringSortDescending(wxString* s1, wxString* s2)
+{
+    return wxStringSortAscending(s2, s1);
+}
 
 #if wxUSE_STL
 
@@ -177,7 +187,7 @@ public:
     // sort array elements in alphabetical order (or reversed alphabetical
     // order if reverseOrder parameter is true)
   void Sort(bool reverseOrder = false);
-    // sort array elements using specified comparaison function
+    // sort array elements using specified comparison function
   void Sort(CompareFunction compareFunction);
   void Sort(CompareFunction2 compareFunction);
 
@@ -291,6 +301,13 @@ public:
   void reserve(size_type n) /* base::reserve*/;
   void resize(size_type n, value_type v = value_type());
   size_type size() const { return GetCount(); }
+  void swap(wxArrayString& other)
+  {
+      wxSwap(m_nSize, other.m_nSize);
+      wxSwap(m_nCount, other.m_nCount);
+      wxSwap(m_pItems, other.m_pItems);
+      wxSwap(m_autoSort, other.m_autoSort);
+  }
 
 protected:
   void Init(bool autoSort);             // common part of all ctors
@@ -299,8 +316,6 @@ protected:
 private:
   void Grow(size_t nIncrement = 0);     // makes array bigger if needed
 
-  void DoSort();                        // common part of all Sort() variants
-
   size_t  m_nSize,    // current size of the array
           m_nCount;   // current number of elements
 
@@ -404,7 +419,7 @@ public:
     // default copy constructor is ok
 
     // iteration interface
-    unsigned int GetCount() const { return m_size; }
+    size_t GetCount() const { return m_size; }
     bool IsEmpty() const { return GetCount() == 0; }
     const wxString& operator[] (unsigned int i) const
     {
@@ -429,7 +444,7 @@ private:
     };
 
     wxStringContainerType m_type;
-    unsigned int m_size;
+    size_t m_size;
     union
     {
         const wxString *      ptr;