Codemesh Runtime v3 C++ API Reference
3.9.205
Builds
codegen
junc++ion-4.8.430
cpp
v3
include
xmog-config-windows-mingw.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
// several versions of the g++ compiler don't handle this->SUPERTYPE::METHOD() correctly
29
// the way to invoke a super type's implementation is without the 'this->'
30
#define XMOG_BROKEN_SUPER_THIS 1
31
32
33
// default the flag that governs whether <typeinfo> is present
34
#ifndef XMOG_SUPPORTS_TYPEINFO
35
# if (__GNUC__>3) || ((__GNUC__==3) && (__GNUC_MINOR__==4))
36
# define XMOG_SUPPORTS_TYPEINFO 0
37
# else
38
# define XMOG_SUPPORTS_TYPEINFO 1
39
# endif
40
#endif
41
42
43
#ifndef XMOG_SUPPORTS_USING
44
# define XMOG_SUPPORTS_USING 1
45
#endif
46
47
// we build the .NET support only into the MSVC runtime because
48
// we don't need to support any other compilers there (it's not
49
// publicly used)
50
#ifndef XMOG_SUPPORTS_DOTNET
51
# define XMOG_SUPPORTS_DOTNET 0
52
#endif
53
54
// we currently only build the CLR hosting support only into the MSVC
55
// runtime.
56
#if !defined(XMOG_SUPPORTS_CLR_HOSTING) && (XMOG_SUPPORTS_DOTNET==1)
57
# define XMOG_SUPPORTS_CLR_HOSTING 0
58
#endif
59
60
#ifndef XMOG_DOTNET_EXPORT
61
# define XMOG_DOTNET_EXPORT __declspec(dllexport)
62
#endif
63
64
#ifndef XMOG_DOTNET_CALL
65
# define XMOG_DOTNET_CALL __stdcall
66
#endif
67
68
// support for proxy constants
69
#ifndef XMOG_NAN
70
# define XMOG_NAN(x) ::std::numeric_limits< x >::quiet_NaN();
71
#endif
72
73
#ifndef XMOG_NEG_INF
74
# define XMOG_NEG_INF(x) -::std::numeric_limits< x >::infinity();
75
#endif
76
77
#ifndef XMOG_POS_INF
78
# define XMOG_POS_INF(x) ::std::numeric_limits< x >::infinity();
79
#endif
80
81
82
Copyright (c) 1999-2020 by Codemesh, Inc., ALL RIGHTS RESERVED.