X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9127686895aa155a4c5b3c5f4feaeaed15626936..613de0e89efab1cbf8463ea06e0cf0b2914fbce9:/include/wx/arrstr.h diff --git a/include/wx/arrstr.h b/include/wx/arrstr.h index ddb11c0a31..f54844459b 100644 --- a/include/wx/arrstr.h +++ b/include/wx/arrstr.h @@ -295,30 +295,20 @@ public: void pop_back() { RemoveAt(GetCount() - 1); } void push_back(const_reference v) { Add(v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } - const_reverse_iterator rbegin() const; + const_reverse_iterator rbegin() const + { return const_reverse_iterator(end() - 1); } reverse_iterator rend() { return reverse_iterator(begin() - 1); } - const_reverse_iterator rend() const; + const_reverse_iterator rend() const + { return const_reverse_iterator(begin() - 1); } 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; + 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: @@ -367,6 +357,14 @@ public: m_strings[i] = m_array[i]; return m_strings; } + + wxString* Release() + { + wxString *r = GetStrings(); + m_strings = NULL; + return r; + } + private: const wxArrayString& m_array; wxString* m_strings;