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