]> git.saurik.com Git - wxWidgets.git/blame - docs/doxygen/mainpages/cat_macros.h
RPM spec files should use Unix line endings
[wxWidgets.git] / docs / doxygen / mainpages / cat_macros.h
CommitLineData
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
25The 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
33For example, the values or these constants for wxWidgets 2.8.7
34are 2, 8, 7 and 0.
35
36Additionally, wxVERSION_STRING is a user-readable string containing the full
37wxWidgets version and wxVERSION_NUMBER is a combination of the three version
38numbers above: for 2.1.15, it is 2115 and it is 2200 for wxWidgets 2.2.
39
40The subrelease number is only used for the sources in between official releases
41and 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
85The endian-ness issues (that is the difference between big-endian and
86little-endian architectures) are important for the portable programs working
87with the external binary data (for example, data files or data coming from
88network) which is usually in some fixed, platform-independent format.
89
90The 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
102wxWidgets uses its own RTTI ("run-time type identification") system which
103predates the current standard C++ RTTI and so is kept for backwards
104compatibility reasons but also because it allows some things which the standard
105RTTI doesn't directly support (such as creating a class from its name). The
106standard C++ RTTI can be used in the user code without any problems and in
107general you shouldn't need to use the functions and the macros in this section
108unless you are thinking of modifying or adding any wxWidgets classes.
109
110Related 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
138Useful macros and functions for error checking and defensive programming.
139wxWidgets defines three families of the assert-like macros: the wxASSERT and
140wxFAIL macros only do anything if __WXDEBUG__ is defined (in other words, in
141the debug build) but disappear completely in the release build. On the other
142hand, the wxCHECK macros stay event in release builds but a check failure
143doesn't generate any user-visible effects then. Finally, the compile time
144assertions don't happen during the run-time but result in the compilation error
145messages 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