X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c7c6fa27baa34d0be4cdfcb4ffd579598c80767..f4bc1aa27cb33f679d7e9c1518a7855bbc1fa471:/include/wx/arrstr.h diff --git a/include/wx/arrstr.h b/include/wx/arrstr.h index 306af0c54c..95b9506fdc 100644 --- a/include/wx/arrstr.h +++ b/include/wx/arrstr.h @@ -15,10 +15,9 @@ #include "wx/defs.h" #include "wx/string.h" -#if wxUSE_STL - -#include "wx/dynarray.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); @@ -29,6 +28,10 @@ inline int wxCMPFUNC_CONV wxStringSortDescending(wxString* s1, wxString* s2) return wxStringSortAscending(s2, s1); } +#if wxUSE_STL + +#include "wx/dynarray.h" + typedef int (wxCMPFUNC_CONV *CMPFUNCwxString)(wxString*, wxString*); typedef wxString _wxArraywxBaseArrayStringBase; _WX_DECLARE_BASEARRAY_2(_wxArraywxBaseArrayStringBase, wxBaseArrayStringBase, @@ -298,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