1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: cpp.h 3 // Purpose: interface of global functions 4 // Author: wxWidgets team 5 // Licence: wxWindows licence 6 ///////////////////////////////////////////////////////////////////////////// 7 8 9 /** @addtogroup group_funcmacro_misc */ 10 //@{ 11 /** 12 This macro returns the concatenation of the arguments passed. Unlike when 13 using the preprocessor operator, the arguments undergo macro expansion 14 before being concatenated. 15 16 @header{wx/cpp.h} 17 */ 18 #define wxCONCAT(x1, x2) 19 #define wxCONCAT3(x1, x2, x3) 20 #define wxCONCAT4(x1, x2, x3, x4) 21 #define wxCONCAT5(x1, x2, x3, x4, x5) 22 //@} 23 24 /** @addtogroup group_funcmacro_misc */ 25 //@{ 26 27 /** 28 Returns the string representation of the given symbol which can be either a 29 literal or a macro (hence the advantage of using this macro instead of the 30 standard preprocessor @c # operator which doesn't work with macros). 31 32 Notice that this macro always produces a @c char string, use 33 wxSTRINGIZE_T() to build a wide string Unicode build. 34 35 @see wxCONCAT() 36 37 @header{wx/cpp.h} 38 */ 39 #define wxSTRINGIZE(x) 40 41 /** 42 Returns the string representation of the given symbol as either an ASCII or 43 Unicode string, depending on the current build. This is the 44 Unicode-friendly equivalent of wxSTRINGIZE(). 45 46 @header{wx/cpp.h} 47 */ 48 #define wxSTRINGIZE_T(x) 49 50 /** 51 This macro expands to the name of the current function if the compiler 52 supports any of @c __FUNCTION__, @c __func__ or equivalent variables or 53 macros or to @NULL if none of them is available. 54 55 @header{wx/cpp.h} 56 */ 57 #define __WXFUNCTION__ 58 59 //@} 60 61