Path: blob/main/extensions/copilot/test/simulation/fixtures/cpp/headers/abi_macros.hpp
13405 views
// __ _____ _____ _____1// __| | __| | | | JSON for Modern C++2// | | |__ | | | | | | version 3.11.33// |_____|_____|_____|_|___| https://github.com/nlohmann/json4//5// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>6// SPDX-License-Identifier: MIT78#pragma once910// This file contains all macro definitions affecting or depending on the ABI1112#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK13#if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH)14#if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 11 || NLOHMANN_JSON_VERSION_PATCH != 315#warning "Already included a different version of the library!"16#endif17#endif18#endif1920#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum)21#define NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum)22#define NLOHMANN_JSON_VERSION_PATCH 3 // NOLINT(modernize-macro-to-enum)2324#ifndef JSON_DIAGNOSTICS25#define JSON_DIAGNOSTICS 026#endif2728#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON29#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 030#endif3132#if JSON_DIAGNOSTICS33#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag34#else35#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS36#endif3738#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON39#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp40#else41#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON42#endif4344#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION45#define NLOHMANN_JSON_NAMESPACE_NO_VERSION 046#endif4748// Construct the namespace ABI tags component49#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi ## a ## b50#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) \51NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b)5253#define NLOHMANN_JSON_ABI_TAGS \54NLOHMANN_JSON_ABI_TAGS_CONCAT( \55NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \56NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON)5758#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \59_v ## major ## _ ## minor ## _ ## patch60#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \61NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch)6263#if NLOHMANN_JSON_NAMESPACE_NO_VERSION64#define NLOHMANN_JSON_NAMESPACE_VERSION65#else66#define NLOHMANN_JSON_NAMESPACE_VERSION \67NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \68NLOHMANN_JSON_VERSION_MINOR, \69NLOHMANN_JSON_VERSION_PATCH)70#endif7172// Combine namespace components73#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b74#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \75NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)7677#ifndef NLOHMANN_JSON_NAMESPACE78#define NLOHMANN_JSON_NAMESPACE \79nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \80NLOHMANN_JSON_ABI_TAGS, \81NLOHMANN_JSON_NAMESPACE_VERSION)82#endif8384#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN85#define NLOHMANN_JSON_NAMESPACE_BEGIN \86namespace nlohmann \87{ \88inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \89NLOHMANN_JSON_ABI_TAGS, \90NLOHMANN_JSON_NAMESPACE_VERSION) \91{92#endif9394#ifndef NLOHMANN_JSON_NAMESPACE_END95#define NLOHMANN_JSON_NAMESPACE_END \96} /* namespace (inline namespace) NOLINT(readability/namespace) */ \97} // namespace nlohmann98#endif99100101