|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ |
|
|
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ |
|
|
|
|
|
#include <cstdint> |
|
|
#include <map> |
|
|
#include <memory> |
|
|
#include <string> |
|
|
#include <vector> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK |
|
|
#if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) |
|
|
#if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 |
|
|
#warning "Already included a different version of the library!" |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
#define NLOHMANN_JSON_VERSION_MAJOR 3 |
|
|
#define NLOHMANN_JSON_VERSION_MINOR 12 |
|
|
#define NLOHMANN_JSON_VERSION_PATCH 0 |
|
|
|
|
|
#ifndef JSON_DIAGNOSTICS |
|
|
#define JSON_DIAGNOSTICS 0 |
|
|
#endif |
|
|
|
|
|
#ifndef JSON_DIAGNOSTIC_POSITIONS |
|
|
#define JSON_DIAGNOSTIC_POSITIONS 0 |
|
|
#endif |
|
|
|
|
|
#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON |
|
|
#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 |
|
|
#endif |
|
|
|
|
|
#if JSON_DIAGNOSTICS |
|
|
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag |
|
|
#else |
|
|
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS |
|
|
#endif |
|
|
|
|
|
#if JSON_DIAGNOSTIC_POSITIONS |
|
|
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp |
|
|
#else |
|
|
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS |
|
|
#endif |
|
|
|
|
|
#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON |
|
|
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp |
|
|
#else |
|
|
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON |
|
|
#endif |
|
|
|
|
|
#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION |
|
|
#define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 |
|
|
#endif |
|
|
|
|
|
|
|
|
#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c |
|
|
#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ |
|
|
NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) |
|
|
|
|
|
#define NLOHMANN_JSON_ABI_TAGS \ |
|
|
NLOHMANN_JSON_ABI_TAGS_CONCAT( \ |
|
|
NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ |
|
|
NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ |
|
|
NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) |
|
|
|
|
|
|
|
|
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ |
|
|
_v ## major ## _ ## minor ## _ ## patch |
|
|
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \ |
|
|
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) |
|
|
|
|
|
#if NLOHMANN_JSON_NAMESPACE_NO_VERSION |
|
|
#define NLOHMANN_JSON_NAMESPACE_VERSION |
|
|
#else |
|
|
#define NLOHMANN_JSON_NAMESPACE_VERSION \ |
|
|
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \ |
|
|
NLOHMANN_JSON_VERSION_MINOR, \ |
|
|
NLOHMANN_JSON_VERSION_PATCH) |
|
|
#endif |
|
|
|
|
|
|
|
|
#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b |
|
|
#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \ |
|
|
NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) |
|
|
|
|
|
#ifndef NLOHMANN_JSON_NAMESPACE |
|
|
#define NLOHMANN_JSON_NAMESPACE \ |
|
|
nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \ |
|
|
NLOHMANN_JSON_ABI_TAGS, \ |
|
|
NLOHMANN_JSON_NAMESPACE_VERSION) |
|
|
#endif |
|
|
|
|
|
#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN |
|
|
#define NLOHMANN_JSON_NAMESPACE_BEGIN \ |
|
|
namespace nlohmann \ |
|
|
{ \ |
|
|
inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \ |
|
|
NLOHMANN_JSON_ABI_TAGS, \ |
|
|
NLOHMANN_JSON_NAMESPACE_VERSION) \ |
|
|
{ |
|
|
#endif |
|
|
|
|
|
#ifndef NLOHMANN_JSON_NAMESPACE_END |
|
|
#define NLOHMANN_JSON_NAMESPACE_END \ |
|
|
} \ |
|
|
} |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NLOHMANN_JSON_NAMESPACE_BEGIN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename T = void, typename SFINAE = void> |
|
|
struct adl_serializer; |
|
|
|
|
|
|
|
|
|
|
|
template<template<typename U, typename V, typename... Args> class ObjectType = |
|
|
std::map, |
|
|
template<typename U, typename... Args> class ArrayType = std::vector, |
|
|
class StringType = std::string, class BooleanType = bool, |
|
|
class NumberIntegerType = std::int64_t, |
|
|
class NumberUnsignedType = std::uint64_t, |
|
|
class NumberFloatType = double, |
|
|
template<typename U> class AllocatorType = std::allocator, |
|
|
template<typename T, typename SFINAE = void> class JSONSerializer = |
|
|
adl_serializer, |
|
|
class BinaryType = std::vector<std::uint8_t>, |
|
|
class CustomBaseClass = void> |
|
|
class basic_json; |
|
|
|
|
|
|
|
|
|
|
|
template<typename RefStringType> |
|
|
class json_pointer; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using json = basic_json<>; |
|
|
|
|
|
|
|
|
|
|
|
template<class Key, class T, class IgnoredLess, class Allocator> |
|
|
struct ordered_map; |
|
|
|
|
|
|
|
|
|
|
|
using ordered_json = basic_json<nlohmann::ordered_map>; |
|
|
|
|
|
NLOHMANN_JSON_NAMESPACE_END |
|
|
|
|
|
#endif |
|
|
|