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