From 1cc603c1522d52e421415bbfdf41deb0bc085d57 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Wed, 8 Oct 2003 22:16:39 +0000
Subject: [PATCH] documented _PTR versions of WX_DEFINE_ARRAY macros

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/array.tex | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/docs/latex/wx/array.tex b/docs/latex/wx/array.tex
index 0c4a97fdc0..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
-- 
2.50.0

