/// 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
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); } \
}
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; \
\
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); } \
\
// 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