Codemesh Runtime v3 C++ API Reference
3.9.205
Builds
codegen
junc++ion-4.8.430
cpp
v3
include
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.