#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"
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