to be type safe and to provide the full API of the STL std::list container and
should be used like it. The exception is that wxList<T> actually stores
pointers and therefore its iterators return pointers and not references
-to the actual objets in the list (see example below). Unfortunately, the
+to the actual objets in the list (see example below) and {\it value\_type}
+is defined as {\it T*}.
+
+
+Unfortunately, the
new wxList<T> class requires that you declare and define each wxList<T>
class in your program. This is done with {\it WX\_DECLARE\_LIST} and
{\it WX\_DEFINE\_LIST} macros (see example). We hope that we'll be able
and the old wxList API in the future.
Please refer to the STL std::list documentation for further
-information on how to use the class. Below we documented the legacy
-API that originated from the old wxList class and which can still
-be used alternatively for the the same class.
+information on how to use the class. Below we documented both
+the supported STL and the legacy API that originated from the
+old wxList class and which can still be used alternatively for
+the the same class.
-Note that if you compile wxWidgets in STL mode (wxUSE_STL defined as 1)
+Note that if you compile wxWidgets in STL mode (wxUSE\_STL defined as 1)
then wxList<T> will actually derive from std::list and just add a legacy
compatibility layer for the old wxList class.
-each list type (i.e. list of ints, of wxStrings or of MyObjects).
-
\wxheading{Example}
\begin{verbatim}
WX_DEFINE_LIST(MyList);
-
MyList list;
MyListElement element;
list.Append(&element); // ok
<wx/list.h>
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
\wxheading{See also}
-\helpref{wxArray}{wxarray}
+\helpref{wxArray<T>}{wxarray},
+\helpref{wxVector<T>}{wxvector}
\latexignore{\rtfignore{\wxheading{Members}}}
\func{}{wxList<T>}{\void}
-\func{}{wxList<T>}{\param{size_t}{ count}, \param{T *}{elements[]}}
+\func{}{wxList<T>}{\param{size\_t}{ count}, \param{T *}{elements[]}}
Constructors.
\membersection{wxList<T>::Append}\label{wxlistappend}
-\func{wxList<T>::compatibility_iterator }{Append}{\param{T *}{object}}
+\func{wxList<T>::compatibility\_iterator }{Append}{\param{T *}{object}}
Appends the pointer to \rtfsp{\it object} to the list.
-\membersection{wxList<T>::Clear}\label{wxlistclear}
+\membersection{wxList<T>::Clear}\label{wxlistclear1}
\func{void}{Clear}{\void}
\membersection{wxList<T>::DeleteNode}\label{wxlistdeletenode}
-\func{bool}{DeleteNode}{\param{const compatibility_iterator &}{iter}}
+\func{bool}{DeleteNode}{\param{const compatibility\_iterator &}{iter}}
Deletes the given element refered to by {\tt iter} from the list,
returning {\tt true} if successful.
\membersection{wxList<T>::Erase}\label{wxlisterase}
-\func{void}{Erase}{\param{const compatibility_iterator &}{iter}}
+\func{void}{Erase}{\param{const compatibility\_iterator &}{iter}}
Removes element refered to be {\tt iter}.
\membersection{wxList<T>::Find}\label{wxlistfind}
-\constfunc{wxList<T>::compatibility_iterator}{Find}{\param{T *}{ object}}
+\constfunc{wxList<T>::compatibility\_iterator}{Find}{\param{T *}{ object}}
Returns the iterator refering to {\it object} or NULL if none found.
\membersection{wxList<T>::GetFirst}\label{wxlistgetfirst}
-\constfunc{wxList<T>::compatibility_iterator}{GetFirst}{\void}
+\constfunc{wxList<T>::compatibility\_iterator}{GetFirst}{\void}
Returns the first iterator in the list (NULL if the list is empty).
\membersection{wxList<T>::GetLast}\label{wxlistgetlast}
-\constfunc{wxList<T>::compatibility_iterator}{GetLast}{\void}
+\constfunc{wxList<T>::compatibility\_iterator}{GetLast}{\void}
Returns the last iterator in the list (NULL if the list is empty).
Returns the index of {\it obj} within the list or {\tt wxNOT\_FOUND} if
{\it obj} is not found in the list.
-\membersection{wxList<T>::Insert}\label{wxlistinsert}
+\membersection{wxList<T>::Insert}\label{wxlistinsert1}
-\func{wxList<T>::compatibility_iterator}{Insert}{\param{T *}{object}}
+\func{wxList<T>::compatibility\_iterator}{Insert}{\param{T *}{object}}
Insert object at the front of list.
-\func{wxList<T>::compatibility_iterator}{Insert}{\param{size\_t }{position}, \param{T *}{object}}
+\func{wxList<T>::compatibility\_iterator}{Insert}{\param{size\_t }{position}, \param{T *}{object}}
Insert object before {\it position}, i.e. the index of the new item in the
list will be equal to {\it position}. {\it position} should be less than or
equal to \helpref{GetCount}{wxlistgetcount}; if it is equal to it, this is the
same as calling \helpref{Append}{wxlistappend}.
-\func{wxList<T>::compatibility_iterator}{Insert}{\param{compatibility_iterator}{iter}, \param{T *}{object}}
+\func{wxList<T>::compatibility\_iterator}{Insert}{\param{compatibility\_iterator}{iter}, \param{T *}{object}}
Inserts the object before the object refered to be {\it iter}.
% Use different label name to avoid clashing with wxListItem label
\membersection{wxList<T>::Item}\label{wxlistitemfunc}
-\constfunc{wxList<T>::compatibility_iterator}{Item}{\param{size\_t }{index}}
+\constfunc{wxList<T>::compatibility\_iterator}{Item}{\param{size\_t }{index}}
Returns the iterator refering to the object at the given
{\tt index} in the list.
\membersection{wxList<T>::Member}\label{wxlistmember}
-\constfunc{wxList<T>::compatibility_iterator}{Member}{\param{T *}{ object}}
+\constfunc{wxList<T>::compatibility\_iterator}{Member}{\param{T *}{ object}}
{\bf NB:} This function is deprecated, use \helpref{Find}{wxlistfind} instead.
\membersection{wxList<T>::Nth}\label{wxlistnth}
-\constfunc{wxList<T>::compatibility_iterator}{Nth}{\param{int }{n}}
+\constfunc{wxList<T>::compatibility\_iterator}{Nth}{\param{int }{n}}
{\bf NB:} This function is deprecated, use \helpref{Item}{wxlistitemfunc} instead.
two list elements. We use the system {\bf qsort} function for the actual
sorting process.
+
+
+\membersection{wxList<T>::assign}\label{wxlistassign}
+
+\func{void}{assign}{\param{const\_iterator }{first}, \param{const const\_iterator\& }{last}}
+
+
+\func{void}{assign}{\param{size\_type }{n}, \param{const\_reference }{v = value\_type()}}
+
+
+\membersection{wxList<T>::back}\label{wxlistback}
+
+\func{reference}{back}{\void}
+
+\constfunc{const\_reference}{back}{\void}
+
+Returns the last item of the list.
+
+\membersection{wxList<T>::begin}\label{wxlistbegin}
+
+\func{iterator}{begin}{\void}
+
+\constfunc{const\_iterator}{begin}{\void}
+
+Returns a (const) iterator pointing to the beginning of the list.
+
+\membersection{wxList<T>::clear}\label{wxlistclear}
+
+\func{void}{clear}{\void}
+
+Removes all items from the list.
+
+\membersection{wxList<T>::empty}\label{wxlistempty}
+
+\constfunc{bool}{empty}{\void}
+
+Returns {\it true} if the list is empty.
+
+\membersection{wxList<T>::end}\label{wxlistend}
+
+\func{iterator}{end}{\void}
+
+\constfunc{const\_iterator}{end}{\void}
+
+Returns a (const) iterator pointing at the end of the list.
+
+\membersection{wxList<T>::erase}\label{wxlisterase2}
+
+\func{iterator}{erase}{\param{const iterator\& }{it}}
+
+Erases the item pointed to by {\it it}.
+
+\func{iterator}{erase}{\param{const iterator\& }{first}, \param{const iterator\& }{last}}
+
+Erases the items from {\it first} to {\it last}.
+
+\membersection{wxList<T>::front}\label{wxlistfront}
+
+\func{reference}{front}{\void}
+
+\constfunc{const\_reference}{front}{\void}
+
+Returns the first item in the list.
+
+\membersection{wxList<T>::insert}\label{wxlistinsert}
+
+\func{iterator}{insert}{\param{const iterator\& }{it}, \param{const\_reference }{v = value\_type()}}
+
+\func{void}{insert}{\param{const iterator\& }{it}, \param{size\_type }{n}, \param{const\_reference }{v = value\_type()}}
+
+\func{void}{insert}{\param{const iterator\& }{it}, \param{const\_iterator }{first}, \param{const const\_iterator\& }{last}}
+
+Inserts an item (or several) at the given position.
+
+\membersection{wxList<T>::max\_size}\label{wxlistmaxsize}
+
+\constfunc{size\_type}{max\_size}{\void}
+
+Returns the largest possible size of the list.
+
+\membersection{wxList<T>::pop\_back}\label{wxlistpopback}
+
+\func{void}{pop\_back}{\void}
+
+Removes the last item from the list.
+
+\membersection{wxList<T>::pop\_front}\label{wxlistpopfront}
+
+\func{void}{pop\_front}{\void}
+
+Removes the first item from the list.
+
+\membersection{wxList<T>::push\_back}\label{wxlistpushback}
+
+\func{void}{push\_back}{\param{const\_reference }{v = value\_type()}}
+
+Adds an item to end of the list.
+
+\membersection{wxList<T>::push\_front}\label{wxlistpushfront}
+
+\func{void}{push\_front}{\param{const\_reference }{v = value\_type()}}
+
+Adds an item to the front of the list.
+
+\membersection{wxList<T>::rbegin}\label{wxlistrbegin}
+
+\func{reverse\_iterator}{rbegin}{\void}
+
+\constfunc{const\_reverse\_iterator}{rbegin}{\void}
+
+Returns a (const) reverse iterator pointing to the beginning of the
+reversed list.
+
+\membersection{wxList<T>::remove}\label{wxlistremove}
+
+\func{void}{remove}{\param{const\_reference }{v}}
+
+Removes an item from the list.
+
+\membersection{wxList<T>::rend}\label{wxlistrend}
+
+\func{reverse\_iterator}{rend}{\void}
+
+\constfunc{const\_reverse\_iterator}{rend}{\void}
+
+Returns a (const) reverse iterator pointing to the end of the
+reversed list.
+
+\membersection{wxList<T>::resize}\label{wxlistresize}
+
+\func{void}{resize}{\param{size\_type }{n}, \param{value\_type }{v = value\_type()}}
+
+Resizes the list. If the the list is enlarges items with
+the value {\it v} are appended to the list.
+
+\membersection{wxList<T>::reverse}\label{wxlistreverse}
+
+\func{void}{reverse}{\void}
+
+Reverses the list.
+
+\membersection{wxList<T>::size}\label{wxlistsize}
+
+\constfunc{size\_type}{size}{\void}
+
+Returns the size of the list.
+
+\membersection{wxList<T>::splice}\label{wxlistsplice}
+
+\func{void}{splice}{\param{const iterator\& }{it}, \param{wxList<T>\& }{l}}
+
+\func{void}{splice}{\param{const iterator\& }{it}, \param{wxList<T>\& }{l}, \param{const iterator\& }{first}}
+
+\func{void}{splice}{\param{const iterator\& }{it}, \param{wxList<T>\& }{l}, \param{const iterator\& }{first}, \param{const iterator\& }{last}}
+
+Moves part of the list into another list, starting from {\it first} and
+ending at {\it last} if specified.