\latexignore{\rtfignore{\wxheading{Function groups}}}
-\membersection{Macros for template array definition}
+\membersection{Macros for template array definition}\label{arraymacros}
To use an array you must first define the array class. This is done with the
help of the macros in this section. The class of array elements must be (at
element type is not a pointer itself and, although it still works, this
provokes warnings from some compilers and to avoid them you should use the
{\tt \_PTR} versions of the macros above. For example, to define an array of
-pointers to {\tt double} you should use
+pointers to {\tt double} you should use.
+
+Note that the above macros are generally only useful for
+wxObject types. There are separate macros for declaring an array of a simple type,
+such as an int.
+
+The following simple types are supported:\\
+int\\
+long\\
+size\_t\\
+double
+
+To create an array of a simple type, simply append the type you want in CAPS to
+the array definition.
+
+For example, for an integer array, you'd use one of the following variants:
+
+\helpref{WX\_DEFINE\_ARRAY\_INT}{wxdefinearray}\\
+\helpref{WX\_DEFINE\_EXPORTED\_ARRAY\_INT}{wxdefinearray}\\
+\helpref{WX\_DEFINE\_USER\_EXPORTED\_ARRAY\_INT}{wxdefinearray}\\
+\helpref{WX\_DEFINE\_SORTED\_ARRAY\_INT}{wxdefinesortedarray}\\
+\helpref{WX\_DEFINE\_SORTED\_EXPORTED\_ARRAY\_INT}{wxdefinesortedarray}\\
+\helpref{WX\_DEFINE\_SORTED\_USER\_EXPORTED\_ARRAY\_INT}{wxdefinesortedarray}\\
\begin{verbatim}
WX_DEFINE_ARRAY_PTR(double *, MyArrayOfDoublePointers);
\end{verbatim}
-\membersection{Constructors and destructors}
+\membersection{Constructors and destructors}\label{arrayconstructorsdestructors}
Array classes are 100\% C++ objects and as such they have the appropriate copy
constructors and assignment operators. Copying wxArray just copies the elements
\helpref{Alloc}{wxarrayalloc}\\
\helpref{Shrink}{wxarrayshrink}
-\membersection{Number of elements and simple item access}
+\membersection{Number of elements and simple item access}\label{arrayelementsaccess}
Functions in this section return the total number of array elements and allow to
retrieve them - possibly using just the C array indexing $[]$ operator which
\helpref{Item}{wxarrayitem}\\
\helpref{Last}{wxarraylast}
-\membersection{Adding items}
+\membersection{Adding items}\label{arrayadding}
\helpref{Add}{wxarrayadd}\\
\helpref{Insert}{wxarrayinsert}\\
\helpref{SetCount}{wxarraysetcount}\\
\helpref{WX\_APPEND\_ARRAY}{wxappendarray}
-\membersection{Removing items}
+\membersection{Removing items}\label{arrayremoving}
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray}\\
\helpref{Empty}{wxarrayempty}\\
\helpref{RemoveAt}{wxarrayremoveat}\\
\helpref{Remove}{wxarrayremove}
-\membersection{Searching and sorting}
+\membersection{Searching and sorting}\label{arraysearchingandsorting}
\helpref{Index}{wxarrayindex}\\
\helpref{Sort}{wxarraysort}
Example:
\begin{verbatim}
-WX_DEFINE_ARRAY(int, wxArrayInt);
+WX_DEFINE_ARRAY_INT(wxArrayInt);
class MyClass;
WX_DEFINE_ARRAY(MyClass *, wxArrayOfMyClass);
Example:
\begin{verbatim}
-WX_DEFINE_SORTED_ARRAY(int, wxSortedArrayInt);
+WX_DEFINE_SORTED_ARRAY_INT(wxSortedArrayInt);
class MyClass;
WX_DEFINE_SORTED_ARRAY(MyClass *, wxArrayOfMyClass);
for wxSortedArray only.
Searches the element in the array, starting from either beginning or the end
-depending on the value of {\it searchFromEnd} parameter. wxNOT\_FOUND is
+depending on the value of {\it searchFromEnd} parameter. {\tt wxNOT\_FOUND} is
returned if the element is not found, otherwise the index of the element is
returned.
\func{void}{SetCount}{\param{size\_t }{count}, \param{T }{defval = T($0$)}}
This function ensures that the number of array elements is at least
-{\it count}. If the array has already {\it count} or mroe items, nothing is
+{\it count}. If the array has already {\it count} or more items, nothing is
done. Otherwise, {\tt count - GetCount()} elements are added and initialized to
the value {\it defval}.