]> git.saurik.com Git - wxWidgets.git/commitdiff
add wxCONCAT[345]() helper macros
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 27 Jan 2008 14:10:53 +0000 (14:10 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 27 Jan 2008 14:10:53 +0000 (14:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/function.tex
include/wx/cpp.h

index b6de53e475c3aeea976a5bd3932f381668e46398..89dd6dba9b19e1f68523f2d4502894bc2c0a49b3 100644 (file)
@@ -3006,9 +3006,17 @@ to \helpref{wxBase64Encode}{wxbase64encode}.
 
 \membersection{wxCONCAT}\label{wxconcat}
 
-\func{}{wxCONCAT}{\param{}{x}, \param{}{y}}
+\func{}{wxCONCAT}{\param{}{x1}, \param{}{x2}}
 
-This macro returns the concatenation of two tokens \arg{x} and \arg{y}.
+\func{}{wxCONCAT3}{\param{}{x1}, \param{}{x2}, \param{}{x3}}
+
+\func{}{wxCONCAT4}{\param{}{x1}, \param{}{x2}, \param{}{x3}, \param{}{x4}}
+
+\func{}{wxCONCAT5}{\param{}{x1}, \param{}{x2}, \param{}{x3}, \param{}{x4}, \param{}{x5}}
+
+These macro return the concatenation of the tokens passed as their arguments.
+Unlike when using the preprocessor \texttt{##} operator, the arguments undergo
+the macro expansion before being concatenated.
 
 
 \membersection{wxDECLARE\_APP}\label{wxdeclareapp}
index 7e9a436049ba91f8d0e5ab4216aa199ebdfd17f5..82931e6dd7c6f5fd6f47ba0990245e01ea58a1be 100644 (file)
 #define wxCONCAT_HELPER(text, line) text ## line
 #define wxCONCAT(text, line)        wxCONCAT_HELPER(text, line)
 
+#define wxCONCAT3(x1, x2, x3) wxCONCAT(wxCONCAT(x1, x2), x3)
+#define wxCONCAT4(x1, x2, x3, x4) wxCONCAT(wxCONCAT3(x1, x2, x3), x4)
+#define wxCONCAT5(x1, x2, x3, x4, x5) wxCONCAT(wxCONCAT4(x1, x2, x3, x4), x5)
+
 /* wxSTRINGIZE works as the preprocessor # operator but also works with macros */
 #define wxSTRINGIZE_HELPER(x)       #x
 #define wxSTRINGIZE(x)              wxSTRINGIZE_HELPER(x)