\helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
-\wxheading{Required headers:}
+\wxheading{Include files}
<wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
for wxObjArray.
WX\_DEFINE\_OBJARRAY macro.
\helpref{WX\_DEFINE\_ARRAY}{wxdefinearray}\\
+\helpref{WX\_DEFINE\_EXPORTED\_ARRAY}{wxdefinearray}\\
\helpref{WX\_DEFINE\_SORTED\_ARRAY}{wxdefinesortedarray}\\
-\helpref{WX\_DECLARE\_OBJARRAY}{wxdeclareobjarray}\\
+\helpref{WX\_DEFINE\_SORTED\_EXPORTED\_ARRAY}{wxdefinesortedarray}\\
+\helpref{WX\_DECLARE\_EXPORTED\_OBJARRAY}{wxdeclareobjarray}\\
\helpref{WX\_DEFINE\_OBJARRAY}{wxdefineobjarray}
\membersection{Constructors and destructors}
\membersection{Adding items}
\helpref{Add}{wxarrayadd}\\
-\helpref{Insert}{wxarrayinsert}
+\helpref{Insert}{wxarrayinsert}\\
+\helpref{WX\_APPEND\_ARRAY}{wxappendarray}
\membersection{Removing items}
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
+\func{}{WX\_DEFINE\_EXPORTED\_ARRAY}{\param{}{T}, \param{}{name}}
+
This macro defines a new array class named {\it name} and containing the
-elements of type {\it T}. Example:
+elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+Example:
\begin{verbatim}
WX_DEFINE_ARRAY(int, wxArrayInt);
\func{}{WX\_DEFINE\_SORTED\_ARRAY}{\param{}{T}, \param{}{name}}
+\func{}{WX\_DEFINE\_SORTED\_EXPORTED\_ARRAY}{\param{}{T}, \param{}{name}}
+
This macro defines a new sorted array class named {\it name} and containing
-the elements of type {\it T}. Example:
+the elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+
+
+Example:
\begin{verbatim}
WX_DEFINE_SORTED_ARRAY(int, wxSortedArrayInt);
\func{}{WX\_DECLARE\_OBJARRAY}{\param{}{T}, \param{}{name}}
+\func{}{WX\_DECLARE\_EXPORTED\_OBJARRAY}{\param{}{T}, \param{}{name}}
+
This macro declares a new object array class named {\it name} and containing
-the elements of type {\it T}. Example:
+the elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+
+Example:
\begin{verbatim}
class MyClass;
WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
\end{verbatim}
+\membersection{WX\_APPEND\_ARRAY}\label{wxappendarray}
+
+\func{void}{WX\_APPEND\_ARRAY}{\param{wxArray\& }{array}, \param{wxArray\& }{other}}
+
+This macro may be used to append all elements of the {\it other} array to the
+{\it array}. The two arrays must be of the same type.
+
\membersection{WX\_CLEAR\_ARRAY}\label{wxcleararray}
\func{void}{WX\_CLEAR\_ARRAY}{\param{wxArray\& }{array}}
ownership of the original item. Once again, it only makes sense for wxObjArrays
because the other array types never take ownership of their elements.
+You may also use \helpref{WX\_APPEND\_ARRAY}{wxappendarray} macro to append all
+elements of one array to another one.
+
\membersection{wxArray::Alloc}\label{wxarrayalloc}
\func{void}{Alloc}{\param{size\_t }{count}}
in the sorted array is used for wxSortedArray (this is why searchFromEnd
parameter doesn't make sense for it).
+{\bf NB:} even for wxObjArray classes, the operator==() of the elements in the
+array is {\bf not} used by this function. It searches exactly the given
+element in the array and so will only succeed if this element had been
+previously added to the array, but fail even if another, identical, element is
+in the array.
+
\membersection{wxArray::Insert}\label{wxarrayinsert}
\func{void}{Insert}{\param{T }{item}, \param{size\_t }{n}}