RflySimSDK
v4.10
RflySimSDK说明文档
载入中...
搜索中...
未找到
simulink
json
include
nlohmann
detail
abi_macros.hpp
1
// __ _____ _____ _____
2
// __| | __| | | | JSON for Modern C++
3
// | | |__ | | | | | | version 3.12.0
4
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
//
6
// SPDX-FileCopyrightText: 2013-2025 Niels Lohmann <https://nlohmann.me>
7
// SPDX-License-Identifier: MIT
8
9
#pragma once
10
11
// This file contains all macro definitions affecting or depending on the ABI
12
13
#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK
14
#if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH)
15
#if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0
16
#warning "Already included a different version of the library!"
17
#endif
18
#endif
19
#endif
20
21
#define NLOHMANN_JSON_VERSION_MAJOR 3
// NOLINT(modernize-macro-to-enum)
22
#define NLOHMANN_JSON_VERSION_MINOR 12
// NOLINT(modernize-macro-to-enum)
23
#define NLOHMANN_JSON_VERSION_PATCH 0
// NOLINT(modernize-macro-to-enum)
24
25
#ifndef JSON_DIAGNOSTICS
26
#define JSON_DIAGNOSTICS 0
27
#endif
28
29
#ifndef JSON_DIAGNOSTIC_POSITIONS
30
#define JSON_DIAGNOSTIC_POSITIONS 0
31
#endif
32
33
#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON
34
#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0
35
#endif
36
37
#if JSON_DIAGNOSTICS
38
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag
39
#else
40
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS
41
#endif
42
43
#if JSON_DIAGNOSTIC_POSITIONS
44
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp
45
#else
46
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS
47
#endif
48
49
#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON
50
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp
51
#else
52
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON
53
#endif
54
55
#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION
56
#define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0
57
#endif
58
59
// Construct the namespace ABI tags component
60
#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c
61
#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \
62
NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c)
63
64
#define NLOHMANN_JSON_ABI_TAGS \
65
NLOHMANN_JSON_ABI_TAGS_CONCAT( \
66
NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \
67
NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \
68
NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS)
69
70
// Construct the namespace version component
71
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \
72
_v ## major ## _ ## minor ## _ ## patch
73
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \
74
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch)
75
76
#if NLOHMANN_JSON_NAMESPACE_NO_VERSION
77
#define NLOHMANN_JSON_NAMESPACE_VERSION
78
#else
79
#define NLOHMANN_JSON_NAMESPACE_VERSION \
80
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \
81
NLOHMANN_JSON_VERSION_MINOR, \
82
NLOHMANN_JSON_VERSION_PATCH)
83
#endif
84
85
// Combine namespace components
86
#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b
87
#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \
88
NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)
89
90
#ifndef NLOHMANN_JSON_NAMESPACE
91
#define NLOHMANN_JSON_NAMESPACE \
92
nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \
93
NLOHMANN_JSON_ABI_TAGS, \
94
NLOHMANN_JSON_NAMESPACE_VERSION)
95
#endif
96
97
#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN
98
#define NLOHMANN_JSON_NAMESPACE_BEGIN \
99
namespace nlohmann \
100
{ \
101
inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \
102
NLOHMANN_JSON_ABI_TAGS, \
103
NLOHMANN_JSON_NAMESPACE_VERSION) \
104
{
105
#endif
106
107
#ifndef NLOHMANN_JSON_NAMESPACE_END
108
#define NLOHMANN_JSON_NAMESPACE_END \
109
}
/* namespace (inline namespace) NOLINT(readability/namespace) */
\
110
}
// namespace nlohmann
111
#endif
制作者
1.15.0