]>
git.saurik.com Git - wxWidgets.git/blob - docs/doxygen/mainpages/cat_macros.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Macros-by-category page of the Doxygen manual
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
12 @page page_macro_cat Macros by category
14 A classification of wxWidgets macros by category.
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
27 @section page_macro_cat_version Version macros
29 The following constants are defined in wxWidgets:
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
37 For example, the values or these constants for wxWidgets 2.8.7
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
45 The subrelease number is only used for the sources in between official releases
46 and so normally is not useful.
51 @li wxCHECK_GCC_VERSION
52 @li wxCHECK_SUNCC_VERSION
54 @li wxCHECK_VERSION_FULL
55 @li wxCHECK_VISUALC_VERSION
56 @li wxCHECK_W32API_VERSION
59 @section page_macro_cat_misc Miscellaneous macros
67 @li wxDEPRECATED_BUT_USED_INTERNALLY
68 @li wxDEPRECATED_INLINE
71 @li wxON_BLOCK_EXIT_OBJ
74 @li wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING
79 @section page_macro_cat_byteorder Byte order macros
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.
89 The macros are helpful for transforming the data to the correct format.
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
99 @section page_macro_cat_rtti RTTI macros
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.
113 @li DECLARE_ABSTRACT_CLASS
116 @li DECLARE_DYNAMIC_CLASS
117 @li IMPLEMENT_ABSTRACT_CLASS
118 @li IMPLEMENT_ABSTRACT_CLASS2
122 @li IMPLEMENT_DYNAMIC_CLASS
123 @li IMPLEMENT_DYNAMIC_CLASS2
125 @li ::wxCreateDynamicObject
128 @li wxDynamicCastThis
131 @li wx_reinterpret_cast
136 @section page_macro_cat_debugging Debugging macros and functions
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.
150 @li wxASSERT_MIN_BITSIZE
152 @li wxCOMPILE_TIME_ASSERT
153 @li wxCOMPILE_TIME_ASSERT2