6 #ifndef JSON_CONFIG_H_INCLUDED 7 #define JSON_CONFIG_H_INCLUDED 24 #ifndef JSON_USE_EXCEPTION 25 #define JSON_USE_EXCEPTION 1 34 #include <cpptl/config.h> 35 #ifndef JSON_USE_CPPTL 36 #define JSON_USE_CPPTL 1 41 #define JSON_API CPPTL_API 42 #elif defined(JSON_DLL_BUILD) 43 #if defined(_MSC_VER) || defined(__MINGW32__) 44 #define JSON_API __declspec(dllexport) 45 #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING 46 #endif // if defined(_MSC_VER) 47 #elif defined(JSON_DLL) 48 #if defined(_MSC_VER) || defined(__MINGW32__) 49 #define JSON_API __declspec(dllimport) 50 #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING 51 #endif // if defined(_MSC_VER) 52 #endif // ifdef JSON_IN_CPPTL 53 #if !defined(JSON_API) 62 #if defined(_MSC_VER) // MSVC 63 # if _MSC_VER <= 1200 // MSVC 6 66 # define JSON_USE_INT64_DOUBLE_CONVERSION 1 71 # pragma warning(disable : 4786) 74 # if _MSC_VER >= 1500 // MSVC 2008 75 # define JSONCPP_DEPRECATED(message) __declspec(deprecated(message)) 79 #endif // defined(_MSC_VER) 84 #if __cplusplus >= 201103L 85 # define JSONCPP_OVERRIDE override 86 # define JSONCPP_NOEXCEPT noexcept 87 #elif defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1900 88 # define JSONCPP_OVERRIDE override 89 # define JSONCPP_NOEXCEPT throw() 90 #elif defined(_MSC_VER) && _MSC_VER >= 1900 91 # define JSONCPP_OVERRIDE override 92 # define JSONCPP_NOEXCEPT noexcept 94 # define JSONCPP_OVERRIDE 95 # define JSONCPP_NOEXCEPT throw() 98 #ifndef JSON_HAS_RVALUE_REFERENCES 100 #if defined(_MSC_VER) && _MSC_VER >= 1600 // MSVC >= 2010 101 #define JSON_HAS_RVALUE_REFERENCES 1 102 #endif // MSVC >= 2010 105 #if __has_feature(cxx_rvalue_references) 106 #define JSON_HAS_RVALUE_REFERENCES 1 107 #endif // has_feature 109 #elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc) 110 #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) 111 #define JSON_HAS_RVALUE_REFERENCES 1 112 #endif // GXX_EXPERIMENTAL 114 #endif // __clang__ || __GNUC__ 116 #endif // not defined JSON_HAS_RVALUE_REFERENCES 118 #ifndef JSON_HAS_RVALUE_REFERENCES 119 #define JSON_HAS_RVALUE_REFERENCES 0 123 # if __has_extension(attribute_deprecated_with_message) 124 # define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message))) 126 #elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc) 127 # if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) 128 # define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message))) 129 # elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) 130 # define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__)) 131 # endif // GNUC version 132 #endif // __clang__ || __GNUC__ 134 #if !defined(JSONCPP_DEPRECATED) 135 #define JSONCPP_DEPRECATED(message) 136 #endif // if !defined(JSONCPP_DEPRECATED) 139 # define JSON_USE_INT64_DOUBLE_CONVERSION 1 142 #if !defined(JSON_IS_AMALGAMATION) 146 # if JSONCPP_USING_SECURE_MEMORY 150 #endif // if !defined(JSON_IS_AMALGAMATION) 155 #if defined(JSON_NO_INT64) 158 #undef JSON_HAS_INT64 159 #else // if defined(JSON_NO_INT64) 161 #if defined(_MSC_VER) // Microsoft Visual Studio 164 #else // if defined(_MSC_VER) // Other platforms, use long long 165 typedef int64_t
Int64;
167 #endif // if defined(_MSC_VER) 170 #define JSON_HAS_INT64 171 #endif // if defined(JSON_NO_INT64) 172 #if JSONCPP_USING_SECURE_MEMORY 173 #define JSONCPP_STRING std::basic_string<char, std::char_traits<char>, Json::SecureAllocator<char> > 174 #define JSONCPP_OSTRINGSTREAM std::basic_ostringstream<char, std::char_traits<char>, Json::SecureAllocator<char> > 175 #define JSONCPP_OSTREAM std::basic_ostream<char, std::char_traits<char>> 176 #define JSONCPP_ISTRINGSTREAM std::basic_istringstream<char, std::char_traits<char>, Json::SecureAllocator<char> > 177 #define JSONCPP_ISTREAM std::istream 179 #define JSONCPP_STRING std::string 180 #define JSONCPP_OSTRINGSTREAM std::ostringstream 181 #define JSONCPP_OSTREAM std::ostream 182 #define JSONCPP_ISTRINGSTREAM std::istringstream 183 #define JSONCPP_ISTREAM std::istream 184 #endif // if JSONCPP_USING_SECURE_MEMORY 187 #endif // JSON_CONFIG_H_INCLUDED
JSON (JavaScript Object Notation).