Codemesh Runtime v3 C++ API Reference
3.9.205
Builds
codegen
junc++ion-4.8.430
cpp
v3
include
xmog-config-windows-msvc.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 "msvc"
9
10
// default value for wchar_t legality
11
#ifndef XMOG_SUPPORTS_WCHAR_T
12
# define XMOG_SUPPORTS_WCHAR_T 1
13
# if (_MSC_VER>=1300)
14
# define XMOG_WCHAR __wchar_t
15
# else
16
# define XMOG_WCHAR wchar_t
17
# endif
18
#endif
19
20
21
// default value for whether an 'unsigned short*' overload for 'wchar_t' needs to be declared
22
#ifndef XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD
23
# if (XMOG_BUILD_XMOG!=1) && (_MSC_VER>=1300) && !defined(_NATIVE_WCHAR_T_DEFINED)
24
# define XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD 1
25
# else
26
# define XMOG_REQUIRES_UNSIGNED_SHORT_OVERLOAD 0
27
# endif
28
#endif
29
30
31
#define XMOG_INLINE __inline
32
#define XMOG_MUTABLE mutable
33
#define XMOG_EXPLICIT explicit
34
35
36
// default the flag that governs whether the two argument 'delete' operator is declared
37
#ifndef XMOG_SUPPORTS_PLACEMENT_DELETE
38
# define XMOG_SUPPORTS_PLACEMENT_DELETE 1
39
#endif
40
41
// default the flag that governs whether the two argument 'new' operator is declared
42
#ifndef XMOG_SUPPORTS_PLACEMENT_NEW
43
# define XMOG_SUPPORTS_PLACEMENT_NEW 1
44
#endif
45
46
// default the flag that governs whether <typeinfo.h> or <typeinfo> should be used
47
#ifndef XMOG_SUPPORTS_TYPEINFO
48
# define XMOG_SUPPORTS_TYPEINFO 0
49
#endif
50
51
// Compiler sets _CPPRTTI if rtti is enabled.
52
#if !defined (_CPPRTTI)
53
# error You need to enable Runtime Type Information (RTTI)
54
#endif
/* _CPPRTTI */
55
56
57
#pragma warning( disable : 4250 )
58
#pragma warning( disable : 4251 )
59
#pragma warning( disable : 4355 )
60
#pragma warning( disable : 4786 )
61
62
63
#ifndef XMOG_SUPPORTS_USING
64
# define XMOG_SUPPORTS_USING 1
65
#endif
66
67
// we build the .NET support only into the MSVC runtime because
68
// we don't need to support any other compilers there (it's not
69
// publicly used)
70
#ifndef XMOG_SUPPORTS_DOTNET
71
# define XMOG_SUPPORTS_DOTNET 1
72
#endif
73
74
// we currently only build the CLR hosting support only into the MSVC
75
// runtime.
76
#if !defined(XMOG_SUPPORTS_CLR_HOSTING) && (XMOG_SUPPORTS_DOTNET==1)
77
# define XMOG_SUPPORTS_CLR_HOSTING 0
78
#endif
79
80
#ifndef XMOG_DOTNET_EXPORT
81
# define XMOG_DOTNET_EXPORT __declspec(dllexport)
82
#endif
83
84
#ifndef XMOG_DOTNET_CALL
85
# define XMOG_DOTNET_CALL __stdcall
86
#endif
87
88
// support for proxy constants
89
#ifndef XMOG_NAN
90
# define XMOG_NAN(x) ::std::numeric_limits< x >::quiet_NaN();
91
#endif
92
93
#ifndef XMOG_NEG_INF
94
# define XMOG_NEG_INF(x) -::std::numeric_limits< x >::infinity();
95
#endif
96
97
#ifndef XMOG_POS_INF
98
# define XMOG_POS_INF(x) ::std::numeric_limits< x >::infinity();
99
#endif
100
Copyright (c) 1999-2020 by Codemesh, Inc., ALL RIGHTS RESERVED.