2008-03-02 12:22:02 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: cat_macros.h
|
|
|
|
// Purpose: Macros-by-category page of the Doxygen manual
|
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2008-03-11 03:57:21 -04:00
|
|
|
/**
|
|
|
|
|
|
|
|
@page page_macro_cat Macros by Category
|
|
|
|
|
|
|
|
@li @ref page_macro_cat_version
|
|
|
|
@li @ref page_macro_cat_byteorder
|
|
|
|
@li @ref page_macro_cat_rtti
|
|
|
|
@li @ref page_macro_cat_debugging
|
|
|
|
@li @ref page_macro_cat_misc
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
|
|
|
|
|
|
|
@section page_macro_cat_version Versioning
|
|
|
|
|
|
|
|
The following constants are defined in wxWidgets:
|
|
|
|
|
|
|
|
@li wxMAJOR_VERSION is the major version of wxWidgets
|
|
|
|
@li wxMINOR_VERSION is the minor version of wxWidgets
|
|
|
|
@li wxRELEASE_NUMBER is the release number
|
|
|
|
@li wxSUBRELEASE_NUMBER is the subrelease number which is @c 0 for all
|
|
|
|
official releases
|
|
|
|
|
|
|
|
For example, the values or these constants for wxWidgets 2.8.7
|
|
|
|
are 2, 8, 7 and 0.
|
|
|
|
|
|
|
|
Additionally, wxVERSION_STRING is a user-readable string containing the full
|
|
|
|
wxWidgets version and wxVERSION_NUMBER is a combination of the three version
|
|
|
|
numbers above: for 2.1.15, it is 2115 and it is 2200 for wxWidgets 2.2.
|
|
|
|
|
|
|
|
The subrelease number is only used for the sources in between official releases
|
|
|
|
and so normally is not useful.
|
|
|
|
|
|
|
|
@header{wx/version.h}
|
|
|
|
@header{wx/defs.h}
|
|
|
|
|
|
|
|
@li wxCHECK_GCC_VERSION
|
|
|
|
@li wxCHECK_SUNCC_VERSION
|
|
|
|
@li wxCHECK_VERSION
|
|
|
|
@li wxCHECK_VERSION_FULL
|
|
|
|
@li wxCHECK_VISUALC_VERSION
|
|
|
|
@li wxCHECK_W32API_VERSION
|
|
|
|
|
|
|
|
|
|
|
|
@section page_macro_cat_misc Miscellaneous
|
|
|
|
|
|
|
|
@header{FIXME}
|
|
|
|
|
|
|
|
@li wxCONCAT
|
|
|
|
@li wxDECLARE_APP
|
|
|
|
@li wxDYNLIB_FUNCTION
|
|
|
|
@li wxDEPRECATED
|
|
|
|
@li wxDEPRECATED_BUT_USED_INTERNALLY
|
|
|
|
@li wxDEPRECATED_INLINE
|
|
|
|
@li wxEXPLICIT
|
|
|
|
@li wxON_BLOCK_EXIT
|
|
|
|
@li wxON_BLOCK_EXIT_OBJ
|
|
|
|
@li wxSTRINGIZE
|
|
|
|
@li wxSTRINGIZE_T
|
|
|
|
@li wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING
|
|
|
|
@li __WXFUNCTION__
|
|
|
|
@li wxS
|
|
|
|
@li wxT
|
|
|
|
@li wxTRANSLATE
|
|
|
|
@li _
|
|
|
|
@li wxPLURAL
|
|
|
|
@li _T
|
|
|
|
@li WXTRACE
|
|
|
|
@li WXTRACELEVEL
|
|
|
|
|
|
|
|
|
|
|
|
@section page_macro_cat_byteorder Byte Order
|
|
|
|
|
|
|
|
@header{FIXME}
|
|
|
|
|
|
|
|
The endian-ness issues (that is the difference between big-endian and
|
|
|
|
little-endian architectures) are important for the portable programs working
|
|
|
|
with the external binary data (for example, data files or data coming from
|
|
|
|
network) which is usually in some fixed, platform-independent format.
|
|
|
|
|
|
|
|
The macros are helpful for transforming the data to the correct format.
|
|
|
|
|
|
|
|
@li wxINTXX_SWAP_ALWAYS
|
|
|
|
@li wxINTXX_SWAP_ON_BE
|
|
|
|
@li wxINTXX_SWAP_ON_LE
|
|
|
|
@li wxFORCE_LINK_THIS_MODULE
|
|
|
|
@li wxFORCE_LINK_MODULE
|
|
|
|
@li wxIMPLEMENT_APP
|
|
|
|
|
|
|
|
|
|
|
|
@section page_macro_cat_rtti Runtime Type Information (RTTI)
|
|
|
|
|
|
|
|
wxWidgets uses its own RTTI ("run-time type identification") system which
|
|
|
|
predates the current standard C++ RTTI and so is kept for backwards
|
|
|
|
compatibility reasons but also because it allows some things which the standard
|
|
|
|
RTTI doesn't directly support (such as creating a class from its name). The
|
|
|
|
standard C++ RTTI can be used in the user code without any problems and in
|
|
|
|
general you shouldn't need to use the functions and the macros in this section
|
|
|
|
unless you are thinking of modifying or adding any wxWidgets classes.
|
|
|
|
|
|
|
|
Related Overviews: @ref overview_rtti
|
|
|
|
|
|
|
|
@li #CLASSINFO
|
|
|
|
@li #DECLARE_ABSTRACT_CLASS
|
|
|
|
@li #DECLARE_APP
|
|
|
|
@li #DECLARE_CLASS
|
|
|
|
@li #DECLARE_DYNAMIC_CLASS
|
|
|
|
@li #IMPLEMENT_ABSTRACT_CLASS
|
|
|
|
@li #IMPLEMENT_ABSTRACT_CLASS2
|
|
|
|
@li #IMPLEMENT_APP
|
|
|
|
@li #IMPLEMENT_CLASS
|
|
|
|
@li #IMPLEMENT_CLASS2
|
|
|
|
@li #IMPLEMENT_DYNAMIC_CLASS
|
|
|
|
@li #IMPLEMENT_DYNAMIC_CLASS2
|
|
|
|
@li #wxConstCast
|
|
|
|
@li ::wxCreateDynamicObject
|
|
|
|
@li #WXDEBUG_NEW
|
|
|
|
@li #wxDynamicCast
|
|
|
|
@li #wxDynamicCastThis
|
|
|
|
@li #wxStaticCast
|
|
|
|
@li #wx_const_cast
|
|
|
|
@li #wx_reinterpret_cast
|
|
|
|
@li #wx_static_cast
|
|
|
|
@li #wx_truncate_cast
|
|
|
|
|
|
|
|
|
|
|
|
@section page_macro_cat_debugging Debugging
|
|
|
|
|
|
|
|
Useful macros and functions for error checking and defensive programming.
|
|
|
|
wxWidgets defines three families of the assert-like macros: the wxASSERT and
|
|
|
|
wxFAIL macros only do anything if __WXDEBUG__ is defined (in other words, in
|
|
|
|
the debug build) but disappear completely in the release build. On the other
|
|
|
|
hand, the wxCHECK macros stay event in release builds but a check failure
|
|
|
|
doesn't generate any user-visible effects then. Finally, the compile time
|
|
|
|
assertions don't happen during the run-time but result in the compilation error
|
|
|
|
messages if the condition they check fail.
|
|
|
|
|
|
|
|
@header{wx/debug.h}
|
|
|
|
|
|
|
|
@li wxASSERT
|
|
|
|
@li wxASSERT_MIN_BITSIZE
|
|
|
|
@li wxASSERT_MSG
|
|
|
|
@li wxCOMPILE_TIME_ASSERT
|
|
|
|
@li wxCOMPILE_TIME_ASSERT2
|
|
|
|
@li wxFAIL
|
|
|
|
@li wxFAIL_MSG
|
|
|
|
@li wxCHECK
|
|
|
|
@li wxCHECK_MSG
|
|
|
|
@li wxCHECK_RET
|
|
|
|
@li wxCHECK2
|
|
|
|
@li wxCHECK2_MSG
|
|
|
|
|
|
|
|
*/
|
2008-03-02 12:22:02 -05:00
|
|
|
|