]>
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 | ||
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 | ||
77 | ||
78 | ||
79 | @section page_macro_cat_byteorder Byte order macros | |
80 | ||
81 | @header{FIXME} | |
82 | ||
83 | The endian-ness issues (that is the difference between big-endian | |
84 | and little-endian architectures) are important for the portable | |
85 | programs working with the external binary data (for example, data | |
86 | files or data coming from network) which is usually in some fixed, | |
87 | platform-independent format. | |
88 | ||
89 | The macros are helpful for transforming the data to the correct format. | |
90 | ||
91 | @li wxINTXX_SWAP_ALWAYS | |
92 | @li wxINTXX_SWAP_ON_BE | |
93 | @li wxINTXX_SWAP_ON_LE | |
94 | @li wxFORCE_LINK_THIS_MODULE | |
95 | @li wxFORCE_LINK_MODULE | |
96 | @li wxIMPLEMENT_APP | |
97 | ||
98 | ||
99 | @section page_macro_cat_rtti RTTI macros | |
100 | ||
101 | wxWidgets uses its own RTTI ("run-time type identification") system | |
102 | which predates the current standard C++ RTTI and so is kept for backwards | |
103 | compatibility reasons but also because it allows some things which the | |
104 | standard RTTI doesn't directly support (such as creating a class from its name). | |
105 | The standard C++ RTTI can be used in the user code without any problems and in | |
106 | general you shouldn't need to use the functions and the macros in this section | |
107 | unless you are thinking of modifying or adding any wxWidgets classes. | |
108 | ||
109 | @seealso | |
110 | @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 macros and functions | |
137 | ||
138 | Useful macros and functions for error checking and defensive programming. | |
139 | wxWidgets defines three families of the assert-like macros: the wxASSERT | |
140 | and wxFAIL macros only do anything if __WXDEBUG__ is defined (in other words, | |
141 | in 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 doesn't | |
143 | generate any user-visible effects then. Finally, the compile time assertions | |
144 | don't happen during the run-time but result in the compilation error messages | |
145 | 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 | ||
163 | */ |