X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a497618a568bfdd1059e3f51b560a98fd25b1003..794bcc2dea743ac907b839f54e451847c9ea4b72:/include/wx/dynarray.h diff --git a/include/wx/dynarray.h b/include/wx/dynarray.h index a3c4017ada..109a89437c 100644 --- a/include/wx/dynarray.h +++ b/include/wx/dynarray.h @@ -132,7 +132,7 @@ protected: /// remove first item matching this value void Remove(long lItem); /// remove item by index - void Remove(size_t uiIndex); + void RemoveAt(size_t uiIndex); //@} /// sort array elements using given compare function @@ -198,12 +198,13 @@ public: \ void Insert(T Item, size_t uiIndex) \ { wxBaseArray::Insert((long)Item, uiIndex) ; } \ \ - void Remove(size_t uiIndex) { wxBaseArray::Remove(uiIndex); } \ + void Remove(size_t uiIndex) { RemoveAt(uiIndex); } \ + void RemoveAt(size_t uiIndex) { wxBaseArray::RemoveAt(uiIndex); } \ void Remove(T Item) \ { int iIndex = Index(Item); \ wxCHECK2_MSG( iIndex != wxNOT_FOUND, return, \ _WX_ERROR_REMOVE); \ - wxBaseArray::Remove((size_t)iIndex); } \ + wxBaseArray::RemoveAt((size_t)iIndex); } \ \ void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \ } @@ -260,12 +261,13 @@ public: \ void Add(T Item) \ { wxBaseArray::Add((long)Item, (CMPFUNC)m_fnCompare); } \ \ - void Remove(size_t uiIndex) { wxBaseArray::Remove(uiIndex); } \ + void Remove(size_t uiIndex) { RemoveAt(uiIndex); } \ + void RemoveAt(size_t uiIndex) { wxBaseArray::RemoveAt(uiIndex); } \ void Remove(T Item) \ { int iIndex = Index(Item); \ wxCHECK2_MSG( iIndex != wxNOT_FOUND, return, \ _WX_ERROR_REMOVE ); \ - wxBaseArray::Remove((size_t)iIndex); } \ + wxBaseArray::RemoveAt((size_t)iIndex); } \ \ private: \ SCMPFUNC##T m_fnCompare; \ @@ -306,8 +308,9 @@ public: \ \ T* Detach(size_t uiIndex) \ { T* p = (T*)wxBaseArray::Item(uiIndex); \ - wxBaseArray::Remove(uiIndex); return p; } \ - void Remove(size_t uiIndex); \ + wxBaseArray::RemoveAt(uiIndex); return p; } \ + void Remove(size_t uiIndex) { RemoveAt(uiIndex); } \ + void RemoveAt(size_t uiIndex); \ \ void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \ \ @@ -445,6 +448,16 @@ WX_DEFINE_EXPORTED_ARRAY(void *, wxArrayPtrVoid); // convinience macros // ----------------------------------------------------------------------------- +// append all element of one array to another one +#define WX_APPEND_ARRAY(array, other) \ + { \ + size_t count = other.Count(); \ + for ( size_t n = 0; n < count; n++ ) \ + { \ + array.Add(other[n]); \ + } \ + } + // delete all array elements // // NB: the class declaration of the array elements must be visible from the