// Purpose: interface of wxArray<T>
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
functions are inline, so they do not take @e any space at all.
wxWidgets has three different kinds of array. All of them derive from
- wxBaseArray class which works with untyped data and can not be used
+ wxBaseArray class which works with untyped data and cannot be used
directly. The standard macros WX_DEFINE_ARRAY(), WX_DEFINE_SORTED_ARRAY()
and WX_DEFINE_OBJARRAY() are used to define a new class deriving from it.
The classes declared will be called in this documentation wxArray,
however dumb, C++ compiler in the world.
Remember to include @<wx/arrimpl.cpp@> just before each
- WX_DEFINE_OBJARRAY() ocurrence in your code, even if you have several in
+ WX_DEFINE_OBJARRAY() occurrence in your code, even if you have several in
the same file.
Things are much simpler for wxArray and wxSortedArray however: it is enough
@code
T *item = array[n];
+ array.Remove(item);
delete item;
- array.Remove(n);
@endcode
See also WX_CLEAR_ARRAY() macro which deletes all elements of a wxArray
(supposed to contain pointers).
+
+ Notice that for sorted arrays this method uses binary search to find
+ the item so it doesn't necessarily remove the first matching item, but
+ the first one found by the binary search.
+
+ @see RemoveAt()
*/
void Remove(T item);
/**
This version of Index() is for wxSortedArray only.
- Searches the element in the array, starting from either beginning or
- the end depending on the value of @a searchFromEnd parameter.
+ Searches for the element in the array, using binary search.
+
@c wxNOT_FOUND is returned if the element is not found, otherwise the
index of the element is returned.
*/
/**
This macro may be used to delete all elements of the array before emptying
- it. It can not be used with wxObjArrays - but they will delete their
+ it. It cannot be used with wxObjArrays - but they will delete their
elements anyway when you call Empty().
*/
#define WX_CLEAR_ARRAY(wxArray_arrayToBeCleared)