]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dynarray.h
added template wxScopedArray<> too
[wxWidgets.git] / include / wx / dynarray.h
index 1bbf53ed99767038aa4783856cb74e2c49e2ad6d..3c7f88926eb4e9cbd0b04533141000ecc0f99193 100644 (file)
@@ -84,7 +84,7 @@ typedef int (wxCMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
 #if wxUSE_STL
 
 template<class T>
-class WXDLLIMPEXP_BASE wxArray_SortFunction
+class wxArray_SortFunction
 {
 public:
     typedef int (wxCMPFUNC_CONV *CMPFUNC)(T* pItem1, T* pItem2);
@@ -97,7 +97,7 @@ private:
 };
 
 template<class T, typename F>
-class WXDLLIMPEXP_BASE wxSortedArray_SortFunction
+class wxSortedArray_SortFunction
 {
 public:
     typedef F CMPFUNC;
@@ -282,6 +282,13 @@ protected:                                                          \
   const_iterator begin() const { return m_pItems; }                 \
   const_iterator end() const { return m_pItems + m_nCount; }        \
                                                                     \
+  void swap(name& other)                                            \
+  {                                                                 \
+    wxSwap(m_nSize, other.m_nSize);                                 \
+    wxSwap(m_nCount, other.m_nCount);                               \
+    wxSwap(m_pItems, other.m_pItems);                               \
+  }                                                                 \
+                                                                    \
   /* the following functions may be made directly public because */ \
   /* they don't use the type of the elements at all */              \
 public:                                                             \
@@ -487,6 +494,7 @@ public:                                                               \
   void reserve(size_type n) { base::reserve(n); }                     \
   void resize(size_type n, value_type v = value_type())               \
     { base::resize(n, v); }                                           \
+  void swap(name& other) { base::swap(other); }                       \
 }
 
 #define _WX_PTROP pointer operator->() const { return m_ptr; }