]>
Commit | Line | Data |
---|---|---|
f4463614 FM |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: cat_macros.h | |
3 | // Purpose: Macros-by-category page of the Doxygen manual | |
4 | // Author: wxWidgets team | |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows license | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
c83e60aa BP |
9 | /** |
10 | ||
11 | @page page_macro_cat Macros by Category | |
12 | ||
13 | @li @ref page_macro_cat_version | |
14 | @li @ref page_macro_cat_byteorder | |
15 | @li @ref page_macro_cat_rtti | |
16 | @li @ref page_macro_cat_debugging | |
17 | @li @ref page_macro_cat_misc | |
18 | ||
19 | ||
20 | <hr> | |
21 | ||
22 | ||
23 | @section page_macro_cat_version Versioning | |
24 | ||
25 | The following constants are defined in wxWidgets: | |
26 | ||
27 | @li wxMAJOR_VERSION is the major version of wxWidgets | |
28 | @li wxMINOR_VERSION is the minor version of wxWidgets | |
29 | @li wxRELEASE_NUMBER is the release number | |
30 | @li wxSUBRELEASE_NUMBER is the subrelease number which is @c 0 for all | |
31 | official releases | |
32 | ||
33 | For example, the values or these constants for wxWidgets 2.8.7 | |
34 | are 2, 8, 7 and 0. | |
35 | ||
36 | Additionally, wxVERSION_STRING is a user-readable string containing the full | |
37 | wxWidgets version and wxVERSION_NUMBER is a combination of the three version | |
38 | numbers above: for 2.1.15, it is 2115 and it is 2200 for wxWidgets 2.2. | |
39 | ||
40 | The subrelease number is only used for the sources in between official releases | |
41 | and so normally is not useful. | |
42 | ||
43 | @header{wx/version.h} | |
44 | @header{wx/defs.h} | |
45 | ||
46 | @li wxCHECK_GCC_VERSION | |
47 | @li wxCHECK_SUNCC_VERSION | |
48 | @li wxCHECK_VERSION | |
49 | @li wxCHECK_VERSION_FULL | |
50 | @li wxCHECK_VISUALC_VERSION | |
51 | @li wxCHECK_W32API_VERSION | |
52 | ||
53 | ||
54 | @section page_macro_cat_misc Miscellaneous | |
55 | ||
56 | @header{FIXME} | |
57 | ||
58 | @li wxCONCAT | |
59 | @li wxDECLARE_APP | |
60 | @li wxDYNLIB_FUNCTION | |
61 | @li wxDEPRECATED | |
62 | @li wxDEPRECATED_BUT_USED_INTERNALLY | |
63 | @li wxDEPRECATED_INLINE | |
64 | @li wxEXPLICIT | |
65 | @li wxON_BLOCK_EXIT | |
66 | @li wxON_BLOCK_EXIT_OBJ | |
67 | @li wxSTRINGIZE | |
68 | @li wxSTRINGIZE_T | |
69 | @li wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING | |
70 | @li __WXFUNCTION__ | |
71 | @li wxS | |
72 | @li wxT | |
73 | @li wxTRANSLATE | |
74 | @li _ | |
75 | @li wxPLURAL | |
76 | @li _T | |
77 | @li WXTRACE | |
78 | @li WXTRACELEVEL | |
79 | ||
80 | ||
81 | @section page_macro_cat_byteorder Byte Order | |
82 | ||
83 | @header{FIXME} | |
84 | ||
85 | The endian-ness issues (that is the difference between big-endian and | |
86 | little-endian architectures) are important for the portable programs working | |
87 | with the external binary data (for example, data files or data coming from | |
88 | network) which is usually in some fixed, platform-independent format. | |
89 | ||
90 | The macros are helpful for transforming the data to the correct format. | |
91 | ||
92 | @li wxINTXX_SWAP_ALWAYS | |
93 | @li wxINTXX_SWAP_ON_BE | |
94 | @li wxINTXX_SWAP_ON_LE | |
95 | @li wxFORCE_LINK_THIS_MODULE | |
96 | @li wxFORCE_LINK_MODULE | |
97 | @li wxIMPLEMENT_APP | |
98 | ||
99 | ||
100 | @section page_macro_cat_rtti Runtime Type Information (RTTI) | |
101 | ||
102 | wxWidgets uses its own RTTI ("run-time type identification") system which | |
103 | predates the current standard C++ RTTI and so is kept for backwards | |
104 | compatibility reasons but also because it allows some things which the standard | |
105 | RTTI doesn't directly support (such as creating a class from its name). The | |
106 | standard C++ RTTI can be used in the user code without any problems and in | |
107 | general you shouldn't need to use the functions and the macros in this section | |
108 | unless you are thinking of modifying or adding any wxWidgets classes. | |
109 | ||
110 | Related Overviews: @ref overview_rtti | |
111 | ||
112 | @li #CLASSINFO | |
113 | @li #DECLARE_ABSTRACT_CLASS | |
114 | @li #DECLARE_APP | |
115 | @li #DECLARE_CLASS | |
116 | @li #DECLARE_DYNAMIC_CLASS | |
117 | @li #IMPLEMENT_ABSTRACT_CLASS | |
118 | @li #IMPLEMENT_ABSTRACT_CLASS2 | |
119 | @li #IMPLEMENT_APP | |
120 | @li #IMPLEMENT_CLASS | |
121 | @li #IMPLEMENT_CLASS2 | |
122 | @li #IMPLEMENT_DYNAMIC_CLASS | |
123 | @li #IMPLEMENT_DYNAMIC_CLASS2 | |
124 | @li #wxConstCast | |
125 | @li ::wxCreateDynamicObject | |
126 | @li #WXDEBUG_NEW | |
127 | @li #wxDynamicCast | |
128 | @li #wxDynamicCastThis | |
129 | @li #wxStaticCast | |
130 | @li #wx_const_cast | |
131 | @li #wx_reinterpret_cast | |
132 | @li #wx_static_cast | |
133 | @li #wx_truncate_cast | |
134 | ||
135 | ||
136 | @section page_macro_cat_debugging Debugging | |
137 | ||
138 | Useful macros and functions for error checking and defensive programming. | |
139 | wxWidgets defines three families of the assert-like macros: the wxASSERT and | |
140 | wxFAIL macros only do anything if __WXDEBUG__ is defined (in other words, in | |
141 | the debug build) but disappear completely in the release build. On the other | |
142 | hand, the wxCHECK macros stay event in release builds but a check failure | |
143 | doesn't generate any user-visible effects then. Finally, the compile time | |
144 | assertions don't happen during the run-time but result in the compilation error | |
145 | messages if the condition they check fail. | |
146 | ||
147 | @header{wx/debug.h} | |
148 | ||
149 | @li wxASSERT | |
150 | @li wxASSERT_MIN_BITSIZE | |
151 | @li wxASSERT_MSG | |
152 | @li wxCOMPILE_TIME_ASSERT | |
153 | @li wxCOMPILE_TIME_ASSERT2 | |
154 | @li wxFAIL | |
155 | @li wxFAIL_MSG | |
156 | @li wxCHECK | |
157 | @li wxCHECK_MSG | |
158 | @li wxCHECK_RET | |
159 | @li wxCHECK2 | |
160 | @li wxCHECK2_MSG | |
161 | ||
162 | */ | |
f4463614 | 163 |