summaryrefslogtreecommitdiff
path: root/json/json-forwards.h
diff options
context:
space:
mode:
Diffstat (limited to 'json/json-forwards.h')
-rw-r--r--json/json-forwards.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/json/json-forwards.h b/json/json-forwards.h
index a1bac45c..a20d79d9 100644
--- a/json/json-forwards.h
+++ b/json/json-forwards.h
@@ -91,7 +91,8 @@ license you like.
#ifndef JSON_CONFIG_H_INCLUDED
#define JSON_CONFIG_H_INCLUDED
#include <stddef.h>
-#include <string> //typdef String
+#include <string> //typedef String
+#include <stdint.h> //typedef int64_t, uint64_t
/// If defined, indicates that json library is embedded in CppTL library.
//# define JSON_IN_CPPTL 1
@@ -165,12 +166,19 @@ license you like.
// In c++11 the override keyword allows you to explicity define that a function
// is intended to override the base-class version. This makes the code more
// managable and fixes a set of common hard-to-find bugs.
-#if __cplusplus >= 201103L
+
+#if __cplusplus >= 201103L
+# define JSONCPP_OVERRIDE override
+# define JSONCPP_NOEXCEPT noexcept
+#elif defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1900
# define JSONCPP_OVERRIDE override
-#elif defined(_MSC_VER) && _MSC_VER > 1600
+# define JSONCPP_NOEXCEPT throw()
+#elif defined(_MSC_VER) && _MSC_VER >= 1900
# define JSONCPP_OVERRIDE override
+# define JSONCPP_NOEXCEPT noexcept
#else
# define JSONCPP_OVERRIDE
+# define JSONCPP_NOEXCEPT throw()
#endif
#ifndef JSON_HAS_RVALUE_REFERENCES
@@ -237,8 +245,10 @@ typedef unsigned int LargestUInt;
typedef __int64 Int64;
typedef unsigned __int64 UInt64;
#else // if defined(_MSC_VER) // Other platforms, use long long
-typedef long long int Int64;
-typedef unsigned long long int UInt64;
+
+typedef int64_t Int64;
+typedef uint64_t UInt64;
+
#endif // if defined(_MSC_VER)
typedef Int64 LargestInt;
typedef UInt64 LargestUInt;