]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/arrstr.h
select current column when Ctrl-Space is pressed; the current row when Shift-Space...
[wxWidgets.git] / include / wx / arrstr.h
index 81177940fdf9317e0d4c40e519fc68cce8a67c96..ddb11c0a31527e9a1a84ea53c7c4474f2161a518 100644 (file)
 #include "wx/defs.h"
 #include "wx/string.h"
 
+// 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
 
 #include "wx/dynarray.h"
@@ -288,6 +301,25 @@ 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)
+  {
+      // not sure if we can rely on having std::swap() everywhere so do it
+      // manually
+      const size_t savedSize = m_nSize;
+      const size_t savedCount = m_nCount;
+      wxString * const savedItems = m_pItems;
+      const bool savedAutoSort = m_autoSort;
+
+      m_nSize = other.m_nSize;
+      m_nCount = other.m_nCount;
+      m_pItems = other.m_pItems;
+      m_autoSort = other.m_autoSort;
+
+      other.m_nSize = savedSize;
+      other.m_nCount = savedCount;
+      other.m_pItems = savedItems;
+      other.m_autoSort = savedAutoSort;
+  }
 
 protected:
   void Init(bool autoSort);             // common part of all ctors