76 #ifndef JSON_FORWARD_AMALGAMATED_H_INCLUDED 77 # define JSON_FORWARD_AMALGAMATED_H_INCLUDED 78 #define JSON_IS_AMALGAMATION 91 #ifndef JSON_CONFIG_H_INCLUDED 92 #define JSON_CONFIG_H_INCLUDED 100 #include <type_traits> 114 #ifndef JSON_USE_EXCEPTION 115 #define JSON_USE_EXCEPTION 1 124 #include <cpptl/config.h> 125 #ifndef JSON_USE_CPPTL 126 #define JSON_USE_CPPTL 1 131 #define JSON_API CPPTL_API 132 #elif defined(JSON_DLL_BUILD) 133 #if defined(_MSC_VER) || defined(__MINGW32__) 134 #define JSON_API __declspec(dllexport) 135 #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING 136 #elif defined(__GNUC__) || defined(__clang__) 137 #define JSON_API __attribute__((visibility("default"))) 138 #endif // if defined(_MSC_VER) 139 #elif defined(JSON_DLL) 140 #if defined(_MSC_VER) || defined(__MINGW32__) 141 #define JSON_API __declspec(dllimport) 142 #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING 143 #endif // if defined(_MSC_VER) 144 #endif // ifdef JSON_IN_CPPTL 145 #if !defined(JSON_API) 149 #if defined(_MSC_VER) && _MSC_VER < 1800 151 "ERROR: Visual Studio 12 (2013) with _MSC_VER=1800 is the oldest supported compiler with sufficient C++11 capabilities" 154 #if defined(_MSC_VER) && _MSC_VER < 1900 158 msvc_pre1900_c99_snprintf(
char* outBuf,
size_t size,
const char* format, ...);
159 #define jsoncpp_snprintf msvc_pre1900_c99_snprintf 161 #define jsoncpp_snprintf std::snprintf 171 #define JSONCPP_OVERRIDE override 173 #if __cplusplus >= 201103L 174 #define JSONCPP_NOEXCEPT noexcept 175 #define JSONCPP_OP_EXPLICIT explicit 176 #elif defined(_MSC_VER) && _MSC_VER < 1900 177 #define JSONCPP_NOEXCEPT throw() 178 #define JSONCPP_OP_EXPLICIT explicit 179 #elif defined(_MSC_VER) && _MSC_VER >= 1900 180 #define JSONCPP_NOEXCEPT noexcept 181 #define JSONCPP_OP_EXPLICIT explicit 183 #define JSONCPP_NOEXCEPT throw() 184 #define JSONCPP_OP_EXPLICIT 188 #if __has_extension(attribute_deprecated_with_message) 189 #define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) 191 #elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc) 192 #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) 193 #define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) 194 #elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) 195 #define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__)) 196 #endif // GNUC version 197 #elif defined(_MSC_VER) // MSVC (after clang because clang on Windows emulates MSVC) 198 #define JSONCPP_DEPRECATED(message) __declspec(deprecated(message)) 199 #endif // __clang__ || __GNUC__ || _MSC_VER 201 #if !defined(JSONCPP_DEPRECATED) 202 #define JSONCPP_DEPRECATED(message) 203 #endif // if !defined(JSONCPP_DEPRECATED) 206 #define JSON_USE_INT64_DOUBLE_CONVERSION 1 209 #if !defined(JSON_IS_AMALGAMATION) 211 #include "allocator.h" 214 #endif // if !defined(JSON_IS_AMALGAMATION) 219 #if defined(JSON_NO_INT64) 222 #undef JSON_HAS_INT64 223 #else // if defined(JSON_NO_INT64) 225 #if defined(_MSC_VER) // Microsoft Visual Studio 226 typedef __int64
Int64;
227 typedef unsigned __int64
UInt64;
228 #else // if defined(_MSC_VER) // Other platforms, use long long 231 #endif // if defined(_MSC_VER) 234 #define JSON_HAS_INT64 235 #endif // if defined(JSON_NO_INT64) 237 template <
typename T>
240 std::allocator<T>>::type;
242 using IStringStream = std::basic_istringstream<String::value_type,
244 String::allocator_type>;
245 using OStringStream = std::basic_ostringstream<String::value_type,
247 String::allocator_type>;
259 #endif // JSON_CONFIG_H_INCLUDED 279 #ifndef JSON_FORWARDS_H_INCLUDED 280 #define JSON_FORWARDS_H_INCLUDED 282 #if !defined(JSON_IS_AMALGAMATION) 284 #endif // if !defined(JSON_IS_AMALGAMATION) 310 #endif // JSON_FORWARDS_H_INCLUDED 320 #endif //ifndef JSON_FORWARD_AMALGAMATED_H_INCLUDED unsigned int UInt
Definition: json-forwards.h:218
UInt64 LargestUInt
Definition: json-forwards.h:233
Json::IStream JSONCPP_ISTREAM
Definition: json-forwards.h:256
Experimental and untested: represents an element of the "path" to access a node.
Definition: json.h:1213
Lightweight wrapper to tag static string.
Definition: json.h:678
#define JSON_API
Definition: json-forwards.h:146
unsigned int ArrayIndex
Definition: json-forwards.h:296
Represents a JSON value.
Definition: json.h:724
std::basic_istringstream< String::value_type, String::traits_type, String::allocator_type > IStringStream
Definition: json-forwards.h:244
Configuration passed to reader and writer. This configuration object can be used to force the Reader ...
Definition: json.h:483
Json::IStringStream JSONCPP_ISTRINGSTREAM
Definition: json-forwards.h:254
#define JSONCPP_USING_SECURE_MEMORY
Definition: json.h:102
Int64 LargestInt
Definition: json-forwards.h:232
Json::OStringStream JSONCPP_OSTRINGSTREAM
Definition: json-forwards.h:255
JSON (JavaScript Object Notation).
Definition: json-forwards.h:216
base class for Value iterators.
Definition: json.h:1272
typename std::conditional< JSONCPP_USING_SECURE_MEMORY, SecureAllocator< T >, std::allocator< T >>::type Allocator
Definition: json-forwards.h:240
int Int
Definition: json-forwards.h:217
Json::String JSONCPP_STRING
Definition: json-forwards.h:253
std::ostream OStream
Definition: json-forwards.h:249
std::istream IStream
Definition: json-forwards.h:248
std::basic_ostringstream< String::value_type, String::traits_type, String::allocator_type > OStringStream
Definition: json-forwards.h:247
uint64_t UInt64
Definition: json-forwards.h:230
std::basic_string< char, std::char_traits< char >, Allocator< char >> String
Definition: json-forwards.h:241
Iterator for object and array value.
Definition: json.h:1390
Json::OStream JSONCPP_OSTREAM
Definition: json-forwards.h:257
Experimental and untested: represents a "path" to access a node.
Definition: json.h:1240
const iterator for object and array value.
Definition: json.h:1339
int64_t Int64
Definition: json-forwards.h:229