X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2edb0bdef6238c8c246b6978bc14828b7033d931..706f14210b7d782742b4fdbaea0adc25bdcced4d:/docs/latex/wx/array.tex?ds=sidebyside diff --git a/docs/latex/wx/array.tex b/docs/latex/wx/array.tex index 7c10633888..e814dfad1e 100644 --- a/docs/latex/wx/array.tex +++ b/docs/latex/wx/array.tex @@ -117,10 +117,14 @@ Things are much simpler for wxArray and wxSortedArray however: it is enough just to write \begin{verbatim} -WX_DEFINE_ARRAY(MyDirectory *, ArrayOfDirectories); -WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles); +WX_DEFINE_ARRAY(int, ArrayOfDirectories); +WX_DEFINE_SORTED_ARRAY(int, ArrayOfFiles); \end{verbatim} +i.e. there is only one {\tt DEFINE} macro and no need for separate +{\tt DECLARE} one. + + \wxheading{See also:} \helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist} @@ -152,6 +156,17 @@ WX\_DEFINE\_OBJARRAY macro. \helpref{WX\_DEFINE\_EXPORTED\_OBJARRAY}{wxdefineobjarray}\\ \helpref{WX\_DEFINE\_USER\_EXPORTED\_OBJARRAY}{wxdefineobjarray} +To slightly complicate the matters even further, the operator $->$ defined by +default for the array iterators by these macros only makes sense if the array +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 + +\begin{verbatim} +WX_DEFINE_ARRAY_PTR(double *, MyArrayOfDoublePointers); +\end{verbatim} + \membersection{Constructors and destructors} Array classes are 100\% C++ objects and as such they have the appropriate copy @@ -201,6 +216,7 @@ does exactly the same as \helpref{Item()}{wxarrayitem} method. \helpref{Add}{wxarrayadd}\\ \helpref{Insert}{wxarrayinsert}\\ +\helpref{SetCount}{wxarraysetcount}\\ \helpref{WX\_APPEND\_ARRAY}{wxappendarray} \membersection{Removing items} @@ -307,7 +323,7 @@ Example: \begin{verbatim} class MyClass; -WX_DEFINE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not "MyClass *"! +WX_DECLARE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not "MyClass *"! \end{verbatim} You must use \helpref{WX\_DEFINE\_OBJARRAY()}{wxdefineobjarray} macro to define @@ -485,7 +501,7 @@ Return the number of items in the array. \membersection{wxArray::Index}\label{wxarrayindex} -\func{int}{Index}{\param{T\& }{item}, \param{bool }{searchFromEnd = FALSE}} +\func{int}{Index}{\param{T\& }{item}, \param{bool }{searchFromEnd = false}} \func{int}{Index}{\param{T\& }{item}} @@ -526,7 +542,7 @@ between the overloaded versions of this function. \constfunc{bool}{IsEmpty}{\void} -Returns TRUE if the array is empty, FALSE otherwise. +Returns true if the array is empty, false otherwise. \membersection{wxArray::Item}\label{wxarrayitem} @@ -590,6 +606,19 @@ array.RemoveAt(n) See also \helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro which deletes all elements of a wxArray (supposed to contain pointers). +\membersection{wxArray::SetCount}\label{wxarraysetcount} + +\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 +done. Otherwise, {\tt count - GetCount()} elements are added and initialized to +the value {\it defval}. + +\wxheading{See also} + +\helpref{GetCount}{wxarraygetcount} + \membersection{wxArray::Shrink}\label{wxarrayshrink} \func{void}{Shrink}{\void}