Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-15 10:19:03

0001 //     __ _____ _____ _____
0002 //  __|  |   __|     |   | |  JSON for Modern C++
0003 // |  |  |__   |  |  | | | |  version 3.11.3
0004 // |_____|_____|_____|_|___|  https://github.com/nlohmann/json
0005 //
0006 // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
0007 // SPDX-License-Identifier: MIT
0008 
0009 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
0010 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
0011 
0012 #include <cstdint> // int64_t, uint64_t
0013 #include <map> // map
0014 #include <memory> // allocator
0015 #include <string> // string
0016 #include <vector> // vector
0017 
0018 #include <nlohmann/detail/abi_macros.hpp>
0019 
0020 /*!
0021 @brief namespace for Niels Lohmann
0022 @see https://github.com/nlohmann
0023 @since version 1.0.0
0024 */
0025 NLOHMANN_JSON_NAMESPACE_BEGIN
0026 
0027 /*!
0028 @brief default JSONSerializer template argument
0029 
0030 This serializer ignores the template arguments and uses ADL
0031 ([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl))
0032 for serialization.
0033 */
0034 template<typename T = void, typename SFINAE = void>
0035 struct adl_serializer;
0036 
0037 /// a class to store JSON values
0038 /// @sa https://json.nlohmann.me/api/basic_json/
0039 template<template<typename U, typename V, typename... Args> class ObjectType =
0040          std::map,
0041          template<typename U, typename... Args> class ArrayType = std::vector,
0042          class StringType = std::string, class BooleanType = bool,
0043          class NumberIntegerType = std::int64_t,
0044          class NumberUnsignedType = std::uint64_t,
0045          class NumberFloatType = double,
0046          template<typename U> class AllocatorType = std::allocator,
0047          template<typename T, typename SFINAE = void> class JSONSerializer =
0048          adl_serializer,
0049          class BinaryType = std::vector<std::uint8_t>, // cppcheck-suppress syntaxError
0050          class CustomBaseClass = void>
0051 class basic_json;
0052 
0053 /// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document
0054 /// @sa https://json.nlohmann.me/api/json_pointer/
0055 template<typename RefStringType>
0056 class json_pointer;
0057 
0058 /*!
0059 @brief default specialization
0060 @sa https://json.nlohmann.me/api/json/
0061 */
0062 using json = basic_json<>;
0063 
0064 /// @brief a minimal map-like container that preserves insertion order
0065 /// @sa https://json.nlohmann.me/api/ordered_map/
0066 template<class Key, class T, class IgnoredLess, class Allocator>
0067 struct ordered_map;
0068 
0069 /// @brief specialization that maintains the insertion order of object keys
0070 /// @sa https://json.nlohmann.me/api/ordered_json/
0071 using ordered_json = basic_json<nlohmann::ordered_map>;
0072 
0073 NLOHMANN_JSON_NAMESPACE_END
0074 
0075 #endif  // INCLUDE_NLOHMANN_JSON_FWD_HPP_