Codemesh Runtime v3 C++ API Reference  3.9.205
xmog-config-linux-gcc.h
1 //
2 // Copyright (c) 1999-2020 by Codemesh, Inc.. ALL RIGHTS RESERVED.
3 //
4 
5 // included for proxy constant values
6 #include <limits>
7 
8 #define XMOG_CPP_CODE "gcc"
9 
10 
11 // default value for wchar_t legality
12 #ifndef XMOG_SUPPORTS_WCHAR_T
13 # define XMOG_SUPPORTS_WCHAR_T 1
14 # define XMOG_WCHAR wchar_t
15 #endif
16 
17 
18 // default value for whether an 'unsigned short*' overload for 'wchar_t' needs to be declared
19 #ifndef XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD
20 # define XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD 0
21 #endif
22 
23 
24 #define XMOG_INLINE __inline
25 #define XMOG_MUTABLE mutable
26 #define XMOG_EXPLICIT explicit
27 
28 
29 // several versions of the g++ compiler don't handle this->SUPERTYPE::METHOD() correctly
30 // the way to invoke a super type's implementation is without the 'this->'
31 #define XMOG_BROKEN_SUPER_THIS 1
32 
33 
34 // default the flag that governs whether <typeinfo> is present
35 #ifndef XMOG_SUPPORTS_TYPEINFO
36 # if (__GNUC__>3) || ((__GNUC__==3) && (__GNUC_MINOR__==4))
37 # define XMOG_SUPPORTS_TYPEINFO 0
38 # else
39 # define XMOG_SUPPORTS_TYPEINFO 1
40 # endif
41 #endif
42 
43 
44 #ifndef XMOG_SUPPORTS_USING
45 # define XMOG_SUPPORTS_USING 1
46 #endif
47 
48 // we build the .NET support only into the MSVC runtime because
49 // we don't need to support any other compilers there (it's not
50 // publicly used)
51 #ifndef XMOG_SUPPORTS_DOTNET
52 # define XMOG_SUPPORTS_DOTNET 0
53 #endif
54 
55 // support for proxy constants
56 #ifndef XMOG_NAN
57 # define XMOG_NAN(x) ::std::numeric_limits< x >::quiet_NaN();
58 #endif
59 
60 #ifndef XMOG_NEG_INF
61 # define XMOG_NEG_INF(x) -::std::numeric_limits< x >::infinity();
62 #endif
63 
64 #ifndef XMOG_POS_INF
65 # define XMOG_POS_INF(x) ::std::numeric_limits< x >::infinity();
66 #endif

Copyright (c) 1999-2020 by Codemesh, Inc., ALL RIGHTS RESERVED.