Unreal SDK  v1.3.0
Loading...
Searching...
No Matches
json.hpp File Reference
#include <algorithm>
#include <cstddef>
#include <functional>
#include <initializer_list>
#include <iosfwd>
#include <iterator>
#include <memory>
#include <numeric>
#include <string>
#include <utility>
#include <vector>
#include <array>
#include <forward_list>
#include <map>
#include <tuple>
#include <type_traits>
#include <unordered_map>
#include <valarray>
#include <exception>
#include <stdexcept>
#include <cstdint>
#include <cstdlib>
#include <cassert>
#include <limits>
#include <cstring>
#include <cmath>
#include <cstdio>
#include <istream>
#include <clocale>
#include <cctype>
#include <cerrno>
#include <ios>
#include <ostream>
#include <iomanip>
Include dependency graph for json.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  detail::make_void< Ts >
 
struct  detail::nonesuch
 
struct  detail::detector< Default, AlwaysVoid, Op, Args >
 
struct  detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
 
struct  detail::is_detected_lazy< Op, Args >
 
struct  detail::position_t
 struct to capture the start position of the current token More...
 
struct  detail::integer_sequence< T, Ints >
 
struct  detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >
 
struct  detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >
 
struct  detail::utility_internal::Gen< T, N >
 
struct  detail::utility_internal::Gen< T, 0 >
 
struct  detail::priority_tag< N >
 
struct  detail::priority_tag< 0 >
 
struct  detail::static_const< T >
 
struct  detail::iterator_types< It, typename >
 
struct  detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
 
struct  detail::iterator_traits< T, typename >
 
struct  detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
 
struct  detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
 
struct  detail::is_basic_json< typename >
 
struct  detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
 
struct  detail::is_basic_json_context< BasicJsonContext >
 
struct  detail::is_json_ref< typename >
 
struct  detail::is_json_ref< json_ref< T > >
 
struct  detail::has_from_json< BasicJsonType, T, typename >
 
struct  detail::is_getable< BasicJsonType, T >
 
struct  detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  detail::has_non_default_from_json< BasicJsonType, T, typename >
 
struct  detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  detail::has_to_json< BasicJsonType, T, typename >
 
struct  detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  detail::has_key_compare< T >
 
struct  detail::actual_object_comparator< BasicJsonType >
 
struct  detail::conjunction<... >
 
struct  detail::conjunction< B >
 
struct  detail::conjunction< B, Bn... >
 
struct  detail::negation< B >
 
struct  detail::is_default_constructible< T >
 
struct  detail::is_default_constructible< std::pair< T1, T2 > >
 
struct  detail::is_default_constructible< const std::pair< T1, T2 > >
 
struct  detail::is_default_constructible< std::tuple< Ts... > >
 
struct  detail::is_default_constructible< const std::tuple< Ts... > >
 
struct  detail::is_constructible< T, Args >
 
struct  detail::is_constructible< std::pair< T1, T2 > >
 
struct  detail::is_constructible< const std::pair< T1, T2 > >
 
struct  detail::is_constructible< std::tuple< Ts... > >
 
struct  detail::is_constructible< const std::tuple< Ts... > >
 
struct  detail::is_iterator_traits< T, typename >
 
struct  detail::is_iterator_traits< iterator_traits< T > >
 
struct  detail::is_range< T >
 
struct  detail::is_complete_type< T, typename >
 
struct  detail::is_complete_type< T, decltype(void(sizeof(T)))>
 
struct  detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
 
struct  detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
 
struct  detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
 
struct  detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
 
struct  detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
 
struct  detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
 
struct  detail::is_compatible_string_type< BasicJsonType, CompatibleStringType >
 
struct  detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
 
struct  detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
 
struct  detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< iterator_t, CompatibleArrayType >::value &&is_iterator_traits< iterator_traits< detected_t< iterator_t, CompatibleArrayType > > >::value &&!std::is_same< CompatibleArrayType, detected_t< range_value_t, CompatibleArrayType > >::value > >
 
struct  detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
 
struct  detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
 
struct  detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
 
struct  detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&!is_compatible_string_type< BasicJsonType, ConstructibleArrayType >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< iterator_t, ConstructibleArrayType >::value &&is_iterator_traits< iterator_traits< detected_t< iterator_t, ConstructibleArrayType > > >::value &&is_detected< range_value_t, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, detected_t< range_value_t, ConstructibleArrayType > >::value &&is_complete_type< detected_t< range_value_t, ConstructibleArrayType > >::value > >
 
struct  detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
 
struct  detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
 
struct  detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
 
struct  detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
 
struct  detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
 
struct  detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
 
struct  detail::is_compatible_type< BasicJsonType, CompatibleType >
 
struct  detail::is_constructible_tuple< T1, T2 >
 
struct  detail::is_constructible_tuple< T1, std::tuple< Args... > >
 
struct  detail::is_json_iterator_of< BasicJsonType, T >
 
struct  detail::is_json_iterator_of< BasicJsonType, typename BasicJsonType::iterator >
 
struct  detail::is_json_iterator_of< BasicJsonType, typename BasicJsonType::const_iterator >
 
struct  detail::is_specialization_of< Primary, T >
 
struct  detail::is_specialization_of< Primary, Primary< Args... > >
 
struct  detail::is_comparable< Compare, A, B, typename >
 
struct  detail::is_comparable< Compare, A, B, void_t< decltype(std::declval< Compare >()(std::declval< A >(), std::declval< B >())), decltype(std::declval< Compare >()(std::declval< B >(), std::declval< A >()))> >
 
struct  detail::is_ordered_map< T >
 
struct  detail::is_ordered_map< T >::two
 
struct  detail::value_in_range_of_impl2< OfType, T, false, false >
 
struct  detail::value_in_range_of_impl2< OfType, T, true, false >
 
struct  detail::value_in_range_of_impl2< OfType, T, false, true >
 
struct  detail::value_in_range_of_impl2< OfType, T, true, true >
 
struct  detail::value_in_range_of_impl1< OfType, T, false >
 
struct  detail::value_in_range_of_impl1< OfType, T, true >
 
struct  detail::is_c_string< T >
 
struct  detail::is_transparent< T >
 
class  detail::exception
 general exception of the basic_json class More...
 
class  detail::parse_error
 exception indicating a parse error More...
 
class  detail::invalid_iterator
 exception indicating errors with iterators More...
 
class  detail::type_error
 exception indicating executing a member function with a wrong type More...
 
class  detail::out_of_range
 exception indicating access out of the defined range More...
 
class  detail::other_error
 exception indicating other library errors More...
 
struct  detail::identity_tag< T >
 
struct  detail::from_json_fn
 
class  detail::iteration_proxy_value< IteratorType >
 
class  detail::iteration_proxy< IteratorType >
 proxy class for the items() function More...
 
class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
struct  detail::external_constructor< value_t::boolean >
 
struct  detail::external_constructor< value_t::string >
 
struct  detail::external_constructor< value_t::binary >
 
struct  detail::external_constructor< value_t::number_float >
 
struct  detail::external_constructor< value_t::number_unsigned >
 
struct  detail::external_constructor< value_t::number_integer >
 
struct  detail::external_constructor< value_t::array >
 
struct  detail::external_constructor< value_t::object >
 
struct  detail::to_json_fn
 
struct  adl_serializer< ValueType, typename >
 namespace for Niels Lohmann More...
 
class  byte_container_with_subtype< BinaryType >
 an internal type for a backed binary type More...
 
class  detail::file_input_adapter
 
class  detail::input_stream_adapter
 
class  detail::iterator_input_adapter< IteratorType >
 
struct  detail::wide_string_input_helper< BaseInputAdapter, 4 >
 
struct  detail::wide_string_input_helper< BaseInputAdapter, 2 >
 
class  detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >
 
struct  detail::iterator_input_adapter_factory< IteratorType, Enable >
 
struct  detail::is_iterator_of_multibyte< T >
 
struct  detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
 
struct  detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >
 
struct  detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >
 
class  detail::span_input_adapter
 
struct  json_sax< BasicJsonType >
 SAX interface. More...
 
class  detail::json_sax_dom_parser< BasicJsonType >
 SAX implementation to create a JSON value from SAX events. More...
 
class  detail::json_sax_dom_callback_parser< BasicJsonType >
 
class  detail::json_sax_acceptor< BasicJsonType >
 
class  detail::lexer_base< BasicJsonType >
 
class  detail::lexer< BasicJsonType, InputAdapterType >
 lexical analysis More...
 
struct  detail::is_sax< SAX, BasicJsonType >
 
struct  detail::is_sax_static_asserts< SAX, BasicJsonType >
 
class  detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
 deserialization of CBOR, MessagePack, and UBJSON values More...
 
class  detail::parser< BasicJsonType, InputAdapterType >
 syntax analysis More...
 
class  detail::primitive_iterator_t
 
struct  detail::internal_iterator< BasicJsonType >
 an iterator value More...
 
class  detail::iter_impl< BasicJsonType >
 a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
 
class  detail::json_reverse_iterator< Base >
 a template for a reverse iterator class More...
 
class  json_pointer< RefStringType >
 JSON Pointer defines a string syntax for identifying a specific value within a JSON document. More...
 
class  detail::json_ref< BasicJsonType >
 
struct  detail::output_adapter_protocol< CharType >
 abstract output adapter interface More...
 
class  detail::output_vector_adapter< CharType, AllocatorType >
 output adapter for byte vectors More...
 
class  detail::output_stream_adapter< CharType >
 output adapter for output streams More...
 
class  detail::output_string_adapter< CharType, StringType >
 output adapter for basic_string More...
 
class  detail::output_adapter< CharType, StringType >
 
class  detail::binary_writer< BasicJsonType, CharType >
 serialization to CBOR and MessagePack values More...
 
struct  detail::dtoa_impl::diyfp
 
struct  detail::dtoa_impl::boundaries
 
struct  detail::dtoa_impl::cached_power
 
class  detail::serializer< BasicJsonType >
 
struct  ordered_map< Key, T, IgnoredLess, Allocator >
 a minimal map-like container that preserves insertion order More...
 
class  basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
 namespace for Niels Lohmann More...
 
struct  std::hash< nlohmann::NLOHMANN_BASIC_JSON_TPL >
 hash value for JSON objects More...
 
struct  std::less< ::nlohmann::detail::value_t >
 

Namespaces

namespace  detail
 detail namespace with internal helper functions
 
namespace  detail::utility_internal
 
namespace  detail::impl
 
namespace  std
 
namespace  detail::container_input_adapter_factory_impl
 
namespace  detail::dtoa_impl
 implements the Grisu2 algorithm for binary to decimal floating-point conversion.
 
namespace  literals
 
namespace  literals::json_literals
 

Macros

#define NLOHMANN_JSON_VERSION_MAJOR   3
 
#define NLOHMANN_JSON_VERSION_MINOR   11
 
#define NLOHMANN_JSON_VERSION_PATCH   2
 
#define JSON_DIAGNOSTICS   0
 
#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON   0
 
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS
 
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON
 
#define NLOHMANN_JSON_NAMESPACE_NO_VERSION   0
 
#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b)   json_abi ## a ## b
 
#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b)    NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b)
 
#define NLOHMANN_JSON_ABI_TAGS
 
#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)
 
#define NLOHMANN_JSON_NAMESPACE_VERSION
 
#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)   a ## b
 
#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b)    NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)
 
#define NLOHMANN_JSON_NAMESPACE
 
#define NLOHMANN_JSON_NAMESPACE_BEGIN
 
#define NLOHMANN_JSON_NAMESPACE_END
 
#define JSON_HEDLEY_VERSION   15
 
#define JSON_HEDLEY_STRINGIFY_EX(x)   #x
 
#define JSON_HEDLEY_STRINGIFY(x)   JSON_HEDLEY_STRINGIFY_EX(x)
 
#define JSON_HEDLEY_CONCAT_EX(a, b)   a##b
 
#define JSON_HEDLEY_CONCAT(a, b)   JSON_HEDLEY_CONCAT_EX(a,b)
 
#define JSON_HEDLEY_CONCAT3_EX(a, b, c)   a##b##c
 
#define JSON_HEDLEY_CONCAT3(a, b, c)   JSON_HEDLEY_CONCAT3_EX(a,b,c)
 
#define JSON_HEDLEY_VERSION_ENCODE(major, minor, revision)   (((major) * 1000000) + ((minor) * 1000) + (revision))
 
#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version)   ((version) / 1000000)
 
#define JSON_HEDLEY_VERSION_DECODE_MINOR(version)   (((version) % 1000000) / 1000)
 
#define JSON_HEDLEY_VERSION_DECODE_REVISION(version)   ((version) % 1000)
 
#define JSON_HEDLEY_GNUC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_MSVC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_INTEL_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_PGI_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_ARM_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_IBM_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_CRAY_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_IAR_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TINYC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_DMC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_PELLES_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_GCC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_HAS_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns, attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_BUILTIN(builtin)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_FEATURE(feature)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_EXTENSION(extension)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_WARNING(warning)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_PRAGMA(value)
 
#define JSON_HEDLEY_DIAGNOSTIC_PUSH
 
#define JSON_HEDLEY_DIAGNOSTIC_POP
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)   x
 
#define JSON_HEDLEY_CONST_CAST(T, expr)   ((T) (expr))
 
#define JSON_HEDLEY_REINTERPRET_CAST(T, expr)   ((T) (expr))
 
#define JSON_HEDLEY_STATIC_CAST(T, expr)   ((T) (expr))
 
#define JSON_HEDLEY_CPP_CAST(T, expr)   (expr)
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
 
#define JSON_HEDLEY_DEPRECATED(since)
 
#define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
 
#define JSON_HEDLEY_UNAVAILABLE(available_since)
 
#define JSON_HEDLEY_WARN_UNUSED_RESULT
 
#define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
 
#define JSON_HEDLEY_SENTINEL(position)
 
#define JSON_HEDLEY_NO_RETURN
 
#define JSON_HEDLEY_NO_ESCAPE
 
#define JSON_HEDLEY_ASSUME(expr)   JSON_HEDLEY_STATIC_CAST(void, expr)
 
#define JSON_HEDLEY_UNREACHABLE_RETURN(value)   return (value)
 
#define JSON_HEDLEY_UNREACHABLE()   JSON_HEDLEY_ASSUME(0)
 
#define JSON_HEDLEY_NON_NULL(...)
 
#define JSON_HEDLEY_PRINTF_FORMAT(string_idx, first_to_check)
 
#define JSON_HEDLEY_CONSTEXPR
 
#define JSON_HEDLEY_PREDICT(expr, expected, probability)   (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
 
#define JSON_HEDLEY_PREDICT_TRUE(expr, probability)   (!!(expr))
 
#define JSON_HEDLEY_PREDICT_FALSE(expr, probability)   (!!(expr))
 
#define JSON_HEDLEY_LIKELY(expr)   (!!(expr))
 
#define JSON_HEDLEY_UNLIKELY(expr)   (!!(expr))
 
#define JSON_HEDLEY_UNPREDICTABLE(expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
 
#define JSON_HEDLEY_MALLOC
 
#define JSON_HEDLEY_PURE
 
#define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
 
#define JSON_HEDLEY_RESTRICT
 
#define JSON_HEDLEY_INLINE
 
#define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
 
#define JSON_HEDLEY_NEVER_INLINE
 
#define JSON_HEDLEY_PRIVATE
 
#define JSON_HEDLEY_PUBLIC
 
#define JSON_HEDLEY_IMPORT   extern
 
#define JSON_HEDLEY_NO_THROW
 
#define JSON_HEDLEY_FALL_THROUGH
 
#define JSON_HEDLEY_RETURNS_NON_NULL
 
#define JSON_HEDLEY_ARRAY_PARAM(name)
 
#define JSON_HEDLEY_IS_CONSTANT(expr)   (0)
 
#define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)   (expr)
 
#define JSON_HEDLEY_BEGIN_C_DECLS
 
#define JSON_HEDLEY_END_C_DECLS
 
#define JSON_HEDLEY_C_DECL
 
#define JSON_HEDLEY_STATIC_ASSERT(expr, message)
 
#define JSON_HEDLEY_NULL   ((void*) 0)
 
#define JSON_HEDLEY_MESSAGE(msg)
 
#define JSON_HEDLEY_WARNING(msg)   JSON_HEDLEY_MESSAGE(msg)
 
#define JSON_HEDLEY_REQUIRE(expr)
 
#define JSON_HEDLEY_REQUIRE_MSG(expr, msg)
 
#define JSON_HEDLEY_FLAGS
 
#define JSON_HEDLEY_FLAGS_CAST(T, expr)   JSON_HEDLEY_STATIC_CAST(T, expr)
 
#define JSON_HEDLEY_EMPTY_BASES
 
#define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
 
#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature)   JSON_HEDLEY_HAS_FEATURE(feature)
 
#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
 
#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_WARNING(warning)   JSON_HEDLEY_HAS_WARNING(warning)
 
#define JSON_HAS_CPP_11
 
#define JSON_HAS_EXPERIMENTAL_FILESYSTEM   0
 
#define JSON_HAS_FILESYSTEM   0
 
#define JSON_HAS_THREE_WAY_COMPARISON   0
 
#define JSON_HAS_RANGES   0
 
#define JSON_INLINE_VARIABLE
 
#define JSON_NO_UNIQUE_ADDRESS
 
#define JSON_THROW(exception)   std::abort()
 
#define JSON_TRY   if(true)
 
#define JSON_CATCH(exception)   if(false)
 
#define JSON_INTERNAL_CATCH(exception)   if(false)
 
#define JSON_ASSERT(x)   assert(x)
 
#define JSON_PRIVATE_UNLESS_TESTED   private
 
#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
 macro to briefly define a mapping between an enum and JSON
 
#define NLOHMANN_BASIC_JSON_TPL_DECLARATION
 
#define NLOHMANN_BASIC_JSON_TPL
 
#define NLOHMANN_JSON_EXPAND(x)   x
 
#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME, ...)   NAME
 
#define NLOHMANN_JSON_PASTE(...)
 
#define NLOHMANN_JSON_PASTE2(func, v1)   func(v1)
 
#define NLOHMANN_JSON_PASTE3(func, v1, v2)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
 
#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
 
#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
 
#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
 
#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
 
#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
 
#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
 
#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
 
#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
 
#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
 
#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
 
#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
 
#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
 
#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
 
#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
 
#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
 
#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
 
#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
 
#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
 
#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
 
#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
 
#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
 
#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
 
#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
 
#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
 
#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
 
#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
 
#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
 
#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
 
#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
 
#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
 
#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
 
#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
 
#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
 
#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
 
#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
 
#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
 
#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
 
#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
 
#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
 
#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
 
#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
 
#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
 
#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
 
#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
 
#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
 
#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
 
#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
 
#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
 
#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
 
#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
 
#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
 
#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
 
#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
 
#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
 
#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
 
#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
 
#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
 
#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
 
#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
 
#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
 
#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
 
#define NLOHMANN_JSON_TO(v1)   nlohmann_json_j[#v1] = nlohmann_json_t.v1;
 
#define NLOHMANN_JSON_FROM(v1)   nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
 
#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1)   nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1);
 
#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...)
 macro
 
#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...)
 
#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...)
 macro
 
#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...)
 
#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name)
 
#define JSON_USE_IMPLICIT_CONVERSIONS   1
 
#define JSON_EXPLICIT
 
#define JSON_DISABLE_ENUM_SERIALIZATION   0
 
#define JSON_USE_GLOBAL_UDLS   1
 
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_
 
#define JSON_BINARY_READER_MAKE_BJD_OPTIMIZED_TYPE_MARKERS_    make_array<char_int_type>('F', 'H', 'N', 'S', 'T', 'Z', '[', '{')
 
#define JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_
 
lexicographical comparison operators
#define JSON_IMPLEMENT_OPERATOR(op, null_result, unordered_result, default_result)
 

Typedefs

template<typename ... Ts>
using detail::void_t = typename make_void< Ts... >::type
 
template<template< class... > class Op, class... Args>
using detail::is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
 
template<template< class... > class Op, class... Args>
using detail::detected_t = typename detector< nonesuch, void, Op, Args... >::type
 
template<class Default , template< class... > class Op, class... Args>
using detail::detected_or = detector< Default, void, Op, Args... >
 
template<class Default , template< class... > class Op, class... Args>
using detail::detected_or_t = typename detected_or< Default, Op, Args... >::type
 
template<class Expected , template< class... > class Op, class... Args>
using detail::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
 
template<class To , template< class... > class Op, class... Args>
using detail::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
 
template<typename T >
using detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 
template<bool B, typename T = void>
using detail::enable_if_t = typename std::enable_if< B, T >::type
 
template<size_t... Ints>
using detail::index_sequence = integer_sequence< size_t, Ints... >
 
template<typename T , T N>
using detail::make_integer_sequence = typename utility_internal::Gen< T, N >::type
 
template<size_t N>
using detail::make_index_sequence = make_integer_sequence< size_t, N >
 
template<typename... Ts>
using detail::index_sequence_for = make_index_sequence< sizeof...(Ts)>
 
using json = basic_json<>
 default specialization
 
using ordered_json = basic_json< nlohmann::ordered_map >
 specialization that maintains the insertion order of object keys
 
template<typename T >
using detail::mapped_type_t = typename T::mapped_type
 
template<typename T >
using detail::key_type_t = typename T::key_type
 
template<typename T >
using detail::value_type_t = typename T::value_type
 
template<typename T >
using detail::difference_type_t = typename T::difference_type
 
template<typename T >
using detail::pointer_t = typename T::pointer
 
template<typename T >
using detail::reference_t = typename T::reference
 
template<typename T >
using detail::iterator_category_t = typename T::iterator_category
 
template<typename T , typename... Args>
using detail::to_json_function = decltype(T::to_json(std::declval< Args >()...))
 
template<typename T , typename... Args>
using detail::from_json_function = decltype(T::from_json(std::declval< Args >()...))
 
template<typename T , typename U >
using detail::get_template_function = decltype(std::declval< T >().template get< U >())
 
template<typename T >
using detail::detect_key_compare = typename T::key_compare
 
template<typename BasicJsonType >
using detail::actual_object_comparator_t = typename actual_object_comparator< BasicJsonType >::type
 
template<typename R >
using detail::iterator_t = enable_if_t< is_range< R >::value, result_of_begin< decltype(std::declval< R & >())> >
 
template<typename T >
using detail::range_value_t = value_type_t< iterator_traits< iterator_t< T > > >
 
template<typename T >
using detail::is_json_pointer = is_specialization_of<::nlohmann::json_pointer, uncvref_t< T > >
 
template<typename T >
using detail::detect_is_transparent = typename T::is_transparent
 
template<typename Comparator , typename ObjectKeyType , typename KeyTypeCVRef , bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>>
using detail::is_usable_as_key_type = typename std::conditional< is_comparable< Comparator, ObjectKeyType, KeyTypeCVRef >::value &&!(ExcludeObjectKeyType &&std::is_same< KeyType, ObjectKeyType >::value) &&(!RequireTransparentComparator||is_detected< detect_is_transparent, Comparator >::value) &&!is_json_pointer< KeyType >::value, std::true_type, std::false_type >::type
 
template<typename BasicJsonType , typename KeyTypeCVRef , bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>>
using detail::is_usable_as_basic_json_key_type = typename std::conditional< is_usable_as_key_type< typename BasicJsonType::object_comparator_t, typename BasicJsonType::object_t::key_type, KeyTypeCVRef, RequireTransparentComparator, ExcludeObjectKeyType >::value &&!is_json_iterator_of< BasicJsonType, KeyType >::value, std::true_type, std::false_type >::type
 
template<typename ObjectType , typename KeyType >
using detail::detect_erase_with_key_type = decltype(std::declval< ObjectType & >().erase(std::declval< KeyType >()))
 
template<typename BasicJsonType , typename KeyType >
using detail::has_erase_with_key_type = typename std::conditional< is_detected< detect_erase_with_key_type, typename BasicJsonType::object_t, KeyType >::value, std::true_type, std::false_type >::type
 
template<typename... Types>
using detail::all_integral = conjunction< std::is_integral< Types >... >
 
template<typename... Types>
using detail::all_signed = conjunction< std::is_signed< Types >... >
 
template<typename... Types>
using detail::all_unsigned = conjunction< std::is_unsigned< Types >... >
 
template<typename... Types>
using detail::same_sign = std::integral_constant< bool, all_signed< Types... >::value||all_unsigned< Types... >::value >
 
template<typename OfType , typename T >
using detail::never_out_of_range = std::integral_constant< bool,(std::is_signed< OfType >::value &&(sizeof(T)< sizeof(OfType)))||(same_sign< OfType, T >::value &&sizeof(OfType)==sizeof(T)) >
 
template<bool Value>
using detail::bool_constant = std::integral_constant< bool, Value >
 
template<typename T >
using detail::is_c_string_uncvref = is_c_string< uncvref_t< T > >
 
template<typename StringType , typename Arg >
using detail::string_can_append = decltype(std::declval< StringType & >().append(std::declval< Arg && >()))
 
template<typename StringType , typename Arg >
using detail::detect_string_can_append = is_detected< string_can_append, StringType, Arg >
 
template<typename StringType , typename Arg >
using detail::string_can_append_op = decltype(std::declval< StringType & >()+=std::declval< Arg && >())
 
template<typename StringType , typename Arg >
using detail::detect_string_can_append_op = is_detected< string_can_append_op, StringType, Arg >
 
template<typename StringType , typename Arg >
using detail::string_can_append_iter = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().begin(), std::declval< const Arg & >().end()))
 
template<typename StringType , typename Arg >
using detail::detect_string_can_append_iter = is_detected< string_can_append_iter, StringType, Arg >
 
template<typename StringType , typename Arg >
using detail::string_can_append_data = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().data(), std::declval< const Arg & >().size()))
 
template<typename StringType , typename Arg >
using detail::detect_string_can_append_data = is_detected< string_can_append_data, StringType, Arg >
 
using detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
 
template<typename T >
using detail::null_function_t = decltype(std::declval< T & >().null())
 
template<typename T >
using detail::boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
 
template<typename T , typename Integer >
using detail::number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
 
template<typename T , typename Unsigned >
using detail::number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
 
template<typename T , typename Float , typename String >
using detail::number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
 
template<typename T , typename String >
using detail::string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
 
template<typename T , typename Binary >
using detail::binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
 
template<typename T >
using detail::start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
 
template<typename T , typename String >
using detail::key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
 
template<typename T >
using detail::end_object_function_t = decltype(std::declval< T & >().end_object())
 
template<typename T >
using detail::start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
 
template<typename T >
using detail::end_array_function_t = decltype(std::declval< T & >().end_array())
 
template<typename T , typename Exception >
using detail::parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
 
template<typename BasicJsonType >
using detail::parser_callback_t = std::function< bool(int, parse_event_t, BasicJsonType &)>
 
template<typename CharType >
using detail::output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
 a type to simplify interfaces
 

Enumerations

enum class  detail::value_t : std::uint8_t {
  detail::null , detail::object , detail::array , detail::string ,
  detail::boolean , detail::number_integer , detail::number_unsigned , detail::number_float ,
  detail::binary , detail::discarded
}
 the JSON type enumeration More...
 
enum class  detail::input_format_t {
  detail::json , detail::cbor , detail::msgpack , detail::ubjson ,
  detail::bson , detail::bjdata
}
 the supported input formats More...
 
enum class  detail::cbor_tag_handler_t { detail::error , detail::ignore , detail::store }
 how to treat CBOR tags More...
 
enum class  detail::parse_event_t : std::uint8_t {
  detail::object_start , detail::object_end , detail::array_start , detail::array_end ,
  detail::key , detail::value
}
 
enum class  detail::error_handler_t { detail::strict , detail::replace , detail::ignore }
 how to treat decoding errors More...
 

Functions

bool detail::operator< (const value_t lhs, const value_t rhs) noexcept
 comparison operator for JSON types
 
template<typename StringType >
void detail::replace_substring (StringType &s, const StringType &f, const StringType &t)
 replace all occurrences of a substring by another string
 
template<typename StringType >
StringType detail::escape (StringType s)
 string escaping as described in RFC 6901 (Sect. 4)
 
template<typename T , typename... Args>
constexpr std::array< T, sizeof...(Args)> detail::make_array (Args &&... args)
 
NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN NLOHMANN_CAN_CALL_STD_FUNC_IMPL (begin)
 
NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN NLOHMANN_CAN_CALL_STD_FUNC_IMPL (end)
 
template<typename T , typename U , enable_if_t< !std::is_same< T, U >::value, int > = 0>
detail::conditional_static_cast (U value)
 
template<typename OfType , typename T >
constexpr bool detail::value_in_range_of (T val)
 
template<typename T >
constexpr bool detail::impl::is_c_string ()
 
template<typename T >
constexpr bool detail::impl::is_transparent ()
 
std::size_t detail::concat_length ()
 
template<typename... Args>
std::size_t detail::concat_length (const char *cstr, Args &&... rest)
 
template<typename StringType , typename... Args>
std::size_t detail::concat_length (const StringType &str, Args &&... rest)
 
template<typename... Args>
std::size_t detail::concat_length (const char, Args &&... rest)
 
template<typename OutStringType >
void detail::concat_into (OutStringType &)
 
template<typename OutStringType , typename Arg , typename... Args, enable_if_t< !detect_string_can_append< OutStringType, Arg >::value &&detect_string_can_append_op< OutStringType, Arg >::value, int > = 0>
void detail::concat_into (OutStringType &out, Arg &&arg, Args &&... rest)
 
template<typename OutStringType , typename Arg , typename... Args, enable_if_t< !detect_string_can_append< OutStringType, Arg >::value &&!detect_string_can_append_op< OutStringType, Arg >::value &&detect_string_can_append_iter< OutStringType, Arg >::value, int > = 0>
void detail::concat_into (OutStringType &out, const Arg &arg, Args &&... rest)
 
template<typename OutStringType = std::string, typename... Args>
OutStringType detail::concat (Args &&... args)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename std::nullptr_t &n)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
 
template<typename BasicJsonType , typename StringType , enable_if_t< std::is_assignable< StringType &, const typename BasicJsonType::string_t >::value &&is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, StringType >::value &&!std::is_same< typename BasicJsonType::string_t, StringType >::value &&!is_json_ref< StringType >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, StringType &s)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
 
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, EnumType &e)
 
template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
 
template<typename BasicJsonType , typename T , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
 
template<typename BasicJsonType >
void detail::from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto detail::from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
 
template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
auto detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
 
template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
void detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
 
template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > = 0>
auto detail::from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 > {}), j.template get< typename ConstructibleArrayType::value_type >(), void())
 
template<typename BasicJsonType , typename T , std::size_t... Idx>
std::array< T, sizeof...(Idx)> detail::from_json_inplace_array_impl (BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)> >, index_sequence< Idx... >)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto detail::from_json (BasicJsonType &&j, identity_tag< std::array< T, N > > tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N > {}))
 
template<typename BasicJsonType >
void detail::from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
 
template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void detail::from_json (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType , typename... Args, std::size_t... Idx>
std::tuple< Args... > detail::from_json_tuple_impl_base (BasicJsonType &&j, index_sequence< Idx... >)
 
template<typename BasicJsonType , class A1 , class A2 >
std::pair< A1, A2 > detail::from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::pair< A1, A2 > >, priority_tag< 0 >)
 
template<typename BasicJsonType , typename A1 , typename A2 >
void detail::from_json_tuple_impl (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >)
 
template<typename BasicJsonType , typename... Args>
std::tuple< Args... > detail::from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::tuple< Args... > >, priority_tag< 2 >)
 
template<typename BasicJsonType , typename... Args>
void detail::from_json_tuple_impl (BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >)
 
template<typename BasicJsonType , typename TupleRelated >
auto detail::from_json (BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 > {}))
 
template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
void detail::from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
 
template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
void detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
 
template<typename string_type >
void detail::int_to_string (string_type &target, std::size_t value)
 
template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
auto detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
void detail::to_json (BasicJsonType &j, T b) noexcept
 
template<typename BasicJsonType , typename BoolRef , enable_if_t<((std::is_same< std::vector< bool >::reference, BoolRef >::value &&!std::is_same< std::vector< bool >::reference, typename BasicJsonType::boolean_t & >::value)||(std::is_same< std::vector< bool >::const_reference, BoolRef >::value &&!std::is_same< detail::uncvref_t< std::vector< bool >::const_reference >, typename BasicJsonType::boolean_t >::value)) &&std::is_convertible< const BoolRef &, typename BasicJsonType::boolean_t >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const BoolRef &b) noexcept
 
template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const CompatibleString &s)
 
template<typename BasicJsonType >
void detail::to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
 
template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, FloatType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
 
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, EnumType e) noexcept
 
template<typename BasicJsonType >
void detail::to_json (BasicJsonType &j, const std::vector< bool > &e)
 
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
 
template<typename BasicJsonType >
void detail::to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
 
template<typename BasicJsonType >
void detail::to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
 
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
 
template<typename BasicJsonType >
void detail::to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
 
template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
void detail::to_json (BasicJsonType &j, const T(&arr)[N])
 
template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator > >::value, int > = 0>
void detail::to_json (BasicJsonType &j, const T &b)
 
template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
void detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
 
std::size_t detail::combine (std::size_t seed, std::size_t h) noexcept
 
template<typename BasicJsonType >
std::size_t detail::hash (const BasicJsonType &j)
 hash a JSON value
 
template<typename IteratorType >
iterator_input_adapter_factory< IteratorType >::adapter_type detail::input_adapter (IteratorType first, IteratorType last)
 
template<typename ContainerType >
container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type detail::input_adapter (const ContainerType &container)
 
file_input_adapter detail::input_adapter (std::FILE *file)
 
input_stream_adapter detail::input_adapter (std::istream &stream)
 
input_stream_adapter detail::input_adapter (std::istream &&stream)
 
template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
contiguous_bytes_input_adapter detail::input_adapter (CharT b)
 
template<typename T , std::size_t N>
auto detail::input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
 
template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator== (const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
 
template<typename RefStringTypeLhs , typename StringType = typename json_pointer<RefStringTypeLhs>::string_t>
bool operator== (const json_pointer< RefStringTypeLhs > &lhs, const StringType &rhs)
 
template<typename RefStringTypeRhs , typename StringType = typename json_pointer<RefStringTypeRhs>::string_t>
bool operator== (const StringType &lhs, const json_pointer< RefStringTypeRhs > &rhs)
 
template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator!= (const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
 
template<typename RefStringTypeLhs , typename StringType = typename json_pointer<RefStringTypeLhs>::string_t>
bool operator!= (const json_pointer< RefStringTypeLhs > &lhs, const StringType &rhs)
 
template<typename RefStringTypeRhs , typename StringType = typename json_pointer<RefStringTypeRhs>::string_t>
bool operator!= (const StringType &lhs, const json_pointer< RefStringTypeRhs > &rhs)
 
template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator< (const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
 
template<typename Target , typename Source >
Target detail::dtoa_impl::reinterpret_bits (const Source source)
 
template<typename FloatType >
boundaries detail::dtoa_impl::compute_boundaries (FloatType value)
 
cached_power detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
 
int detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
 
void detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
 
void detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
 
void detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
 
template<typename FloatType >
void detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
 
JSON_HEDLEY_RETURNS_NON_NULL char * detail::dtoa_impl::append_exponent (char *buf, int e)
 appends a decimal representation of e to buf
 
JSON_HEDLEY_RETURNS_NON_NULL char * detail::dtoa_impl::format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
 prettify v = buf * 10^decimal_exponent
 
template<typename FloatType >
JSON_HEDLEY_RETURNS_NON_NULL char * detail::to_chars (char *first, const char *last, FloatType value)
 generates a decimal representation of the floating-point number value in [first, last).
 
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string (const NLOHMANN_BASIC_JSON_TPL &j)
 user-defined to_string function for JSON values
 
nlohmann::json literals::json_literals::operator""_json (const char *s, std::size_t n)
 user-defined string literal for JSON values
 
nlohmann::json::json_pointer literals::json_literals::operator""_json_pointer (const char *s, std::size_t n)
 user-defined string literal for JSON pointer
 
NLOHMANN_BASIC_JSON_TPL_DECLARATION void std::swap (nlohmann::NLOHMANN_BASIC_JSON_TPL &j1, nlohmann::NLOHMANN_BASIC_JSON_TPL &j2) noexcept(//NOLINT(readability-inconsistent-declaration-parameter-name) is_nothrow_move_constructible< nlohmann::NLOHMANN_BASIC_JSON_TPL >::value &&//NOLINT(misc-redundant-expression) is_nothrow_move_assignable< nlohmann::NLOHMANN_BASIC_JSON_TPL >::value)
 exchanges the values of two JSON objects
 

Variables

constexpr int detail::dtoa_impl::kAlpha = -60
 
constexpr int detail::dtoa_impl::kGamma = -32
 

Macro Definition Documentation

◆ INCLUDE_NLOHMANN_JSON_FWD_HPP_

#define INCLUDE_NLOHMANN_JSON_FWD_HPP_

◆ JSON_ASSERT

#define JSON_ASSERT (   x)    assert(x)

◆ JSON_BINARY_READER_MAKE_BJD_OPTIMIZED_TYPE_MARKERS_

#define JSON_BINARY_READER_MAKE_BJD_OPTIMIZED_TYPE_MARKERS_    make_array<char_int_type>('F', 'H', 'N', 'S', 'T', 'Z', '[', '{')

◆ JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_

#define JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_
Value:
make_array<bjd_type>( \
bjd_type{'C', "char"}, \
bjd_type{'D', "double"}, \
bjd_type{'I', "int16"}, \
bjd_type{'L', "int64"}, \
bjd_type{'M', "uint64"}, \
bjd_type{'U', "uint8"}, \
bjd_type{'d', "single"}, \
bjd_type{'i', "int8"}, \
bjd_type{'l', "int32"}, \
bjd_type{'m', "uint32"}, \
bjd_type{'u', "uint16"})

◆ JSON_CATCH

#define JSON_CATCH (   exception)    if(false)

◆ JSON_DIAGNOSTICS

#define JSON_DIAGNOSTICS   0

◆ JSON_DISABLE_ENUM_SERIALIZATION

#define JSON_DISABLE_ENUM_SERIALIZATION   0

◆ JSON_EXPLICIT

#define JSON_EXPLICIT

◆ JSON_HAS_CPP_11

#define JSON_HAS_CPP_11

◆ JSON_HAS_EXPERIMENTAL_FILESYSTEM

#define JSON_HAS_EXPERIMENTAL_FILESYSTEM   0

◆ JSON_HAS_FILESYSTEM

#define JSON_HAS_FILESYSTEM   0

◆ JSON_HAS_RANGES

#define JSON_HAS_RANGES   0

◆ JSON_HAS_THREE_WAY_COMPARISON

#define JSON_HAS_THREE_WAY_COMPARISON   0

◆ JSON_HEDLEY_ALWAYS_INLINE

#define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE

◆ JSON_HEDLEY_ARM_VERSION_CHECK

#define JSON_HEDLEY_ARM_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_ARRAY_PARAM

#define JSON_HEDLEY_ARRAY_PARAM (   name)

◆ JSON_HEDLEY_ASSUME

#define JSON_HEDLEY_ASSUME (   expr)    JSON_HEDLEY_STATIC_CAST(void, expr)

◆ JSON_HEDLEY_BEGIN_C_DECLS

#define JSON_HEDLEY_BEGIN_C_DECLS

◆ JSON_HEDLEY_C_DECL

#define JSON_HEDLEY_C_DECL

◆ JSON_HEDLEY_CLANG_HAS_ATTRIBUTE

#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE (   attribute)    JSON_HEDLEY_HAS_ATTRIBUTE(attribute)

◆ JSON_HEDLEY_CLANG_HAS_BUILTIN

#define JSON_HEDLEY_CLANG_HAS_BUILTIN (   builtin)    JSON_HEDLEY_HAS_BUILTIN(builtin)

◆ JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE

#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE (   attribute)    JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)

◆ JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE

#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE (   attribute)    JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)

◆ JSON_HEDLEY_CLANG_HAS_EXTENSION

#define JSON_HEDLEY_CLANG_HAS_EXTENSION (   extension)    JSON_HEDLEY_HAS_EXTENSION(extension)

◆ JSON_HEDLEY_CLANG_HAS_FEATURE

#define JSON_HEDLEY_CLANG_HAS_FEATURE (   feature)    JSON_HEDLEY_HAS_FEATURE(feature)

◆ JSON_HEDLEY_CLANG_HAS_WARNING

#define JSON_HEDLEY_CLANG_HAS_WARNING (   warning)    JSON_HEDLEY_HAS_WARNING(warning)

◆ JSON_HEDLEY_COMPCERT_VERSION_CHECK

#define JSON_HEDLEY_COMPCERT_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_CONCAT

#define JSON_HEDLEY_CONCAT (   a,
 
)    JSON_HEDLEY_CONCAT_EX(a,b)

◆ JSON_HEDLEY_CONCAT3

#define JSON_HEDLEY_CONCAT3 (   a,
  b,
 
)    JSON_HEDLEY_CONCAT3_EX(a,b,c)

◆ JSON_HEDLEY_CONCAT3_EX

#define JSON_HEDLEY_CONCAT3_EX (   a,
  b,
 
)    a##b##c

◆ JSON_HEDLEY_CONCAT_EX

#define JSON_HEDLEY_CONCAT_EX (   a,
 
)    a##b

◆ JSON_HEDLEY_CONST

#define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE

◆ JSON_HEDLEY_CONST_CAST

#define JSON_HEDLEY_CONST_CAST (   T,
  expr 
)    ((T) (expr))

◆ JSON_HEDLEY_CONSTEXPR

#define JSON_HEDLEY_CONSTEXPR

◆ JSON_HEDLEY_CPP_CAST

#define JSON_HEDLEY_CPP_CAST (   T,
  expr 
)    (expr)

◆ JSON_HEDLEY_CRAY_VERSION_CHECK

#define JSON_HEDLEY_CRAY_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_DEPRECATED

#define JSON_HEDLEY_DEPRECATED (   since)

◆ JSON_HEDLEY_DEPRECATED_FOR

#define JSON_HEDLEY_DEPRECATED_FOR (   since,
  replacement 
)

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ (   x)    x

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION

#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION

◆ JSON_HEDLEY_DIAGNOSTIC_POP

#define JSON_HEDLEY_DIAGNOSTIC_POP

◆ JSON_HEDLEY_DIAGNOSTIC_PUSH

#define JSON_HEDLEY_DIAGNOSTIC_PUSH

◆ JSON_HEDLEY_DMC_VERSION_CHECK

#define JSON_HEDLEY_DMC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_EMPTY_BASES

#define JSON_HEDLEY_EMPTY_BASES

◆ JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK

#define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_END_C_DECLS

#define JSON_HEDLEY_END_C_DECLS

◆ JSON_HEDLEY_FALL_THROUGH

#define JSON_HEDLEY_FALL_THROUGH

◆ JSON_HEDLEY_FLAGS

#define JSON_HEDLEY_FLAGS

◆ JSON_HEDLEY_FLAGS_CAST

#define JSON_HEDLEY_FLAGS_CAST (   T,
  expr 
)    JSON_HEDLEY_STATIC_CAST(T, expr)

◆ JSON_HEDLEY_GCC_HAS_ATTRIBUTE

#define JSON_HEDLEY_GCC_HAS_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_BUILTIN

#define JSON_HEDLEY_GCC_HAS_BUILTIN (   builtin,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE

#define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE

#define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_EXTENSION

#define JSON_HEDLEY_GCC_HAS_EXTENSION (   extension,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_FEATURE

#define JSON_HEDLEY_GCC_HAS_FEATURE (   feature,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_HAS_WARNING

#define JSON_HEDLEY_GCC_HAS_WARNING (   warning,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK

#define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK (   major,
  minor,
  patch 
)    JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GCC_VERSION_CHECK

#define JSON_HEDLEY_GCC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_GNUC_HAS_ATTRIBUTE

#define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_BUILTIN

#define JSON_HEDLEY_GNUC_HAS_BUILTIN (   builtin,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE

#define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE

#define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE (   attribute,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_EXTENSION

#define JSON_HEDLEY_GNUC_HAS_EXTENSION (   extension,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_FEATURE

#define JSON_HEDLEY_GNUC_HAS_FEATURE (   feature,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_HAS_WARNING

#define JSON_HEDLEY_GNUC_HAS_WARNING (   warning,
  major,
  minor,
  patch 
)    JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)

◆ JSON_HEDLEY_GNUC_VERSION_CHECK

#define JSON_HEDLEY_GNUC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_HAS_ATTRIBUTE

#define JSON_HEDLEY_HAS_ATTRIBUTE (   attribute)    (0)

◆ JSON_HEDLEY_HAS_BUILTIN

#define JSON_HEDLEY_HAS_BUILTIN (   builtin)    (0)

◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE

#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE (   attribute)    (0)

◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS

#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS (   ns,
  attribute 
)    (0)

◆ JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE

#define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE (   attribute)    (0)

◆ JSON_HEDLEY_HAS_EXTENSION

#define JSON_HEDLEY_HAS_EXTENSION (   extension)    (0)

◆ JSON_HEDLEY_HAS_FEATURE

#define JSON_HEDLEY_HAS_FEATURE (   feature)    (0)

◆ JSON_HEDLEY_HAS_WARNING

#define JSON_HEDLEY_HAS_WARNING (   warning)    (0)

◆ JSON_HEDLEY_IAR_VERSION_CHECK

#define JSON_HEDLEY_IAR_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_IBM_VERSION_CHECK

#define JSON_HEDLEY_IBM_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_IMPORT

#define JSON_HEDLEY_IMPORT   extern

◆ JSON_HEDLEY_INLINE

#define JSON_HEDLEY_INLINE

◆ JSON_HEDLEY_INTEL_CL_VERSION_CHECK

#define JSON_HEDLEY_INTEL_CL_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_INTEL_VERSION_CHECK

#define JSON_HEDLEY_INTEL_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_IS_CONSTANT

#define JSON_HEDLEY_IS_CONSTANT (   expr)    (0)

◆ JSON_HEDLEY_LIKELY

#define JSON_HEDLEY_LIKELY (   expr)    (!!(expr))

◆ JSON_HEDLEY_MALLOC

#define JSON_HEDLEY_MALLOC

◆ JSON_HEDLEY_MCST_LCC_VERSION_CHECK

#define JSON_HEDLEY_MCST_LCC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_MESSAGE

#define JSON_HEDLEY_MESSAGE (   msg)

◆ JSON_HEDLEY_MSVC_VERSION_CHECK

#define JSON_HEDLEY_MSVC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_NEVER_INLINE

#define JSON_HEDLEY_NEVER_INLINE

◆ JSON_HEDLEY_NO_ESCAPE

#define JSON_HEDLEY_NO_ESCAPE

◆ JSON_HEDLEY_NO_RETURN

#define JSON_HEDLEY_NO_RETURN

◆ JSON_HEDLEY_NO_THROW

#define JSON_HEDLEY_NO_THROW

◆ JSON_HEDLEY_NON_NULL

#define JSON_HEDLEY_NON_NULL (   ...)

◆ JSON_HEDLEY_NULL

#define JSON_HEDLEY_NULL   ((void*) 0)

◆ JSON_HEDLEY_PELLES_VERSION_CHECK

#define JSON_HEDLEY_PELLES_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_PGI_VERSION_CHECK

#define JSON_HEDLEY_PGI_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_PRAGMA

#define JSON_HEDLEY_PRAGMA (   value)

◆ JSON_HEDLEY_PREDICT

#define JSON_HEDLEY_PREDICT (   expr,
  expected,
  probability 
)    (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))

◆ JSON_HEDLEY_PREDICT_FALSE

#define JSON_HEDLEY_PREDICT_FALSE (   expr,
  probability 
)    (!!(expr))

◆ JSON_HEDLEY_PREDICT_TRUE

#define JSON_HEDLEY_PREDICT_TRUE (   expr,
  probability 
)    (!!(expr))

◆ JSON_HEDLEY_PRINTF_FORMAT

#define JSON_HEDLEY_PRINTF_FORMAT (   string_idx,
  first_to_check 
)

◆ JSON_HEDLEY_PRIVATE

#define JSON_HEDLEY_PRIVATE

◆ JSON_HEDLEY_PUBLIC

#define JSON_HEDLEY_PUBLIC

◆ JSON_HEDLEY_PURE

#define JSON_HEDLEY_PURE

◆ JSON_HEDLEY_REINTERPRET_CAST

#define JSON_HEDLEY_REINTERPRET_CAST (   T,
  expr 
)    ((T) (expr))

◆ JSON_HEDLEY_REQUIRE

#define JSON_HEDLEY_REQUIRE (   expr)

◆ JSON_HEDLEY_REQUIRE_CONSTEXPR

#define JSON_HEDLEY_REQUIRE_CONSTEXPR (   expr)    (expr)

◆ JSON_HEDLEY_REQUIRE_MSG

#define JSON_HEDLEY_REQUIRE_MSG (   expr,
  msg 
)

◆ JSON_HEDLEY_RESTRICT

#define JSON_HEDLEY_RESTRICT

◆ JSON_HEDLEY_RETURNS_NON_NULL

#define JSON_HEDLEY_RETURNS_NON_NULL

◆ JSON_HEDLEY_SENTINEL

#define JSON_HEDLEY_SENTINEL (   position)

◆ JSON_HEDLEY_STATIC_ASSERT

#define JSON_HEDLEY_STATIC_ASSERT (   expr,
  message 
)

◆ JSON_HEDLEY_STATIC_CAST

#define JSON_HEDLEY_STATIC_CAST (   T,
  expr 
)    ((T) (expr))

◆ JSON_HEDLEY_STRINGIFY

#define JSON_HEDLEY_STRINGIFY (   x)    JSON_HEDLEY_STRINGIFY_EX(x)

◆ JSON_HEDLEY_STRINGIFY_EX

#define JSON_HEDLEY_STRINGIFY_EX (   x)    #x

◆ JSON_HEDLEY_SUNPRO_VERSION_CHECK

#define JSON_HEDLEY_SUNPRO_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_ARMCL_VERSION_CHECK

#define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_CL2000_VERSION_CHECK

#define JSON_HEDLEY_TI_CL2000_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_CL430_VERSION_CHECK

#define JSON_HEDLEY_TI_CL430_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_CL6X_VERSION_CHECK

#define JSON_HEDLEY_TI_CL6X_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_CL7X_VERSION_CHECK

#define JSON_HEDLEY_TI_CL7X_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_CLPRU_VERSION_CHECK

#define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TI_VERSION_CHECK

#define JSON_HEDLEY_TI_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_TINYC_VERSION_CHECK

#define JSON_HEDLEY_TINYC_VERSION_CHECK (   major,
  minor,
  patch 
)    (0)

◆ JSON_HEDLEY_UNAVAILABLE

#define JSON_HEDLEY_UNAVAILABLE (   available_since)

◆ JSON_HEDLEY_UNLIKELY

#define JSON_HEDLEY_UNLIKELY (   expr)    (!!(expr))

◆ JSON_HEDLEY_UNPREDICTABLE

#define JSON_HEDLEY_UNPREDICTABLE (   expr)    JSON_HEDLEY_PREDICT(expr, 1, 0.5)

◆ JSON_HEDLEY_UNREACHABLE

#define JSON_HEDLEY_UNREACHABLE ( )    JSON_HEDLEY_ASSUME(0)

◆ JSON_HEDLEY_UNREACHABLE_RETURN

#define JSON_HEDLEY_UNREACHABLE_RETURN (   value)    return (value)

◆ JSON_HEDLEY_VERSION

#define JSON_HEDLEY_VERSION   15

◆ JSON_HEDLEY_VERSION_DECODE_MAJOR

#define JSON_HEDLEY_VERSION_DECODE_MAJOR (   version)    ((version) / 1000000)

◆ JSON_HEDLEY_VERSION_DECODE_MINOR

#define JSON_HEDLEY_VERSION_DECODE_MINOR (   version)    (((version) % 1000000) / 1000)

◆ JSON_HEDLEY_VERSION_DECODE_REVISION

#define JSON_HEDLEY_VERSION_DECODE_REVISION (   version)    ((version) % 1000)

◆ JSON_HEDLEY_VERSION_ENCODE

#define JSON_HEDLEY_VERSION_ENCODE (   major,
  minor,
  revision 
)    (((major) * 1000000) + ((minor) * 1000) + (revision))

◆ JSON_HEDLEY_WARN_UNUSED_RESULT

#define JSON_HEDLEY_WARN_UNUSED_RESULT

◆ JSON_HEDLEY_WARN_UNUSED_RESULT_MSG

#define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG (   msg)

◆ JSON_HEDLEY_WARNING

#define JSON_HEDLEY_WARNING (   msg)    JSON_HEDLEY_MESSAGE(msg)

◆ JSON_IMPLEMENT_OPERATOR

#define JSON_IMPLEMENT_OPERATOR (   op,
  null_result,
  unordered_result,
  default_result 
)

◆ JSON_INLINE_VARIABLE

#define JSON_INLINE_VARIABLE

◆ JSON_INTERNAL_CATCH

#define JSON_INTERNAL_CATCH (   exception)    if(false)

◆ JSON_NO_UNIQUE_ADDRESS

#define JSON_NO_UNIQUE_ADDRESS

◆ JSON_PRIVATE_UNLESS_TESTED

#define JSON_PRIVATE_UNLESS_TESTED   private

◆ JSON_THROW

#define JSON_THROW (   exception)    std::abort()

◆ JSON_TRY

#define JSON_TRY   if(true)

◆ JSON_USE_GLOBAL_UDLS

#define JSON_USE_GLOBAL_UDLS   1

◆ JSON_USE_IMPLICIT_CONVERSIONS

#define JSON_USE_IMPLICIT_CONVERSIONS   1

◆ JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON

#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON   0

◆ NLOHMANN_BASIC_JSON_TPL

#define NLOHMANN_BASIC_JSON_TPL
Value:
basic_json<ObjectType, ArrayType, StringType, BooleanType, \
NumberIntegerType, NumberUnsignedType, NumberFloatType, \
AllocatorType, JSONSerializer, BinaryType>
namespace for Niels Lohmann
Definition: json.hpp:19274

◆ NLOHMANN_BASIC_JSON_TPL_DECLARATION

#define NLOHMANN_BASIC_JSON_TPL_DECLARATION
Value:
template<template<typename, typename, typename...> class ObjectType, \
template<typename, typename...> class ArrayType, \
class StringType, class BooleanType, class NumberIntegerType, \
class NumberUnsignedType, class NumberFloatType, \
template<typename> class AllocatorType, \
template<typename, typename = void> class JSONSerializer, \
class BinaryType>

◆ NLOHMANN_CAN_CALL_STD_FUNC_IMPL

#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL (   std_name)
Value:
namespace detail { \
using std::std_name; \
\
template<typename... T> \
using result_of_##std_name = decltype(std_name(std::declval<T>()...)); \
} \
\
namespace detail2 { \
struct std_name##_tag \
{ \
}; \
\
template<typename... T> \
std_name##_tag std_name(T&&...); \
\
template<typename... T> \
using result_of_##std_name = decltype(std_name(std::declval<T>()...)); \
\
template<typename... T> \
struct would_call_std_##std_name \
{ \
static constexpr auto const value = ::nlohmann::detail:: \
is_detected_exact<std_name##_tag, result_of_##std_name, T...>::value; \
}; \
} /* namespace detail2 */ \
\
template<typename... T> \
struct would_call_std_##std_name : detail2::would_call_std_##std_name<T...> \
{ \
}
detail namespace with internal helper functions
Definition: json.hpp:247
std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
Definition: json.hpp:307
@ value
the parser finished reading a JSON value

◆ NLOHMANN_DEFINE_TYPE_INTRUSIVE

#define NLOHMANN_DEFINE_TYPE_INTRUSIVE (   Type,
  ... 
)
Value:
friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
#define NLOHMANN_JSON_TO(v1)
Definition: json.hpp:2733
#define NLOHMANN_JSON_FROM(v1)
Definition: json.hpp:2734
#define NLOHMANN_JSON_PASTE(...)
Definition: json.hpp:2604
#define NLOHMANN_JSON_EXPAND(x)
Definition: json.hpp:2602

macro

Since
version 3.9.0

◆ NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT

#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT (   Type,
  ... 
)
Value:
friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) }
#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1)
Definition: json.hpp:2735

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE

#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE (   Type,
  ... 
)
Value:
inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }

macro

Since
version 3.9.0

◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT

#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT (   Type,
  ... 
)
Value:
inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) }

◆ NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS

#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS

◆ NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON

#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON

◆ NLOHMANN_JSON_ABI_TAGS

#define NLOHMANN_JSON_ABI_TAGS
Value:
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS
Definition: json.hpp:84
#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b)
Definition: json.hpp:99
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON
Definition: json.hpp:90

◆ NLOHMANN_JSON_ABI_TAGS_CONCAT

#define NLOHMANN_JSON_ABI_TAGS_CONCAT (   a,
 
)     NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b)

◆ NLOHMANN_JSON_ABI_TAGS_CONCAT_EX

#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX (   a,
 
)    json_abi ## a ## b

◆ NLOHMANN_JSON_EXPAND

#define NLOHMANN_JSON_EXPAND (   x)    x

◆ NLOHMANN_JSON_FROM

#define NLOHMANN_JSON_FROM (   v1)    nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);

◆ NLOHMANN_JSON_FROM_WITH_DEFAULT

#define NLOHMANN_JSON_FROM_WITH_DEFAULT (   v1)    nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1);

◆ NLOHMANN_JSON_GET_MACRO

#define NLOHMANN_JSON_GET_MACRO (   _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  _17,
  _18,
  _19,
  _20,
  _21,
  _22,
  _23,
  _24,
  _25,
  _26,
  _27,
  _28,
  _29,
  _30,
  _31,
  _32,
  _33,
  _34,
  _35,
  _36,
  _37,
  _38,
  _39,
  _40,
  _41,
  _42,
  _43,
  _44,
  _45,
  _46,
  _47,
  _48,
  _49,
  _50,
  _51,
  _52,
  _53,
  _54,
  _55,
  _56,
  _57,
  _58,
  _59,
  _60,
  _61,
  _62,
  _63,
  _64,
  NAME,
  ... 
)    NAME

◆ NLOHMANN_JSON_NAMESPACE

#define NLOHMANN_JSON_NAMESPACE
Value:
nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \
#define NLOHMANN_JSON_ABI_TAGS
Definition: json.hpp:102
#define NLOHMANN_JSON_NAMESPACE_VERSION
Definition: json.hpp:116

◆ NLOHMANN_JSON_NAMESPACE_BEGIN

#define NLOHMANN_JSON_NAMESPACE_BEGIN
Value:
namespace nlohmann \
{ \
inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \
{
#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b)
Definition: json.hpp:124

◆ NLOHMANN_JSON_NAMESPACE_CONCAT

#define NLOHMANN_JSON_NAMESPACE_CONCAT (   a,
 
)     NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)

◆ NLOHMANN_JSON_NAMESPACE_CONCAT_EX

#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX (   a,
 
)    a ## b

◆ NLOHMANN_JSON_NAMESPACE_END

#define NLOHMANN_JSON_NAMESPACE_END
Value:
} /* namespace (inline namespace) NOLINT(readability/namespace) */ \
}

◆ NLOHMANN_JSON_NAMESPACE_NO_VERSION

#define NLOHMANN_JSON_NAMESPACE_NO_VERSION   0

◆ NLOHMANN_JSON_NAMESPACE_VERSION

#define NLOHMANN_JSON_NAMESPACE_VERSION
Value:
#define NLOHMANN_JSON_VERSION_PATCH
Definition: json.hpp:71
#define NLOHMANN_JSON_VERSION_MAJOR
Definition: json.hpp:69
#define NLOHMANN_JSON_VERSION_MINOR
Definition: json.hpp:70
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch)
Definition: json.hpp:110

◆ NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT

#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT (   major,
  minor,
  patch 
)     NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch)

◆ NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX

#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX (   major,
  minor,
  patch 
)     _v ## major ## _ ## minor ## _ ## patch

◆ NLOHMANN_JSON_PASTE

#define NLOHMANN_JSON_PASTE (   ...)

◆ NLOHMANN_JSON_PASTE10

#define NLOHMANN_JSON_PASTE10 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)

◆ NLOHMANN_JSON_PASTE11

#define NLOHMANN_JSON_PASTE11 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)

◆ NLOHMANN_JSON_PASTE12

#define NLOHMANN_JSON_PASTE12 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)

◆ NLOHMANN_JSON_PASTE13

#define NLOHMANN_JSON_PASTE13 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)

◆ NLOHMANN_JSON_PASTE14

#define NLOHMANN_JSON_PASTE14 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)

◆ NLOHMANN_JSON_PASTE15

#define NLOHMANN_JSON_PASTE15 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)

◆ NLOHMANN_JSON_PASTE16

#define NLOHMANN_JSON_PASTE16 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)

◆ NLOHMANN_JSON_PASTE17

#define NLOHMANN_JSON_PASTE17 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)

◆ NLOHMANN_JSON_PASTE18

#define NLOHMANN_JSON_PASTE18 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)

◆ NLOHMANN_JSON_PASTE19

#define NLOHMANN_JSON_PASTE19 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)

◆ NLOHMANN_JSON_PASTE2

#define NLOHMANN_JSON_PASTE2 (   func,
  v1 
)    func(v1)

◆ NLOHMANN_JSON_PASTE20

#define NLOHMANN_JSON_PASTE20 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)

◆ NLOHMANN_JSON_PASTE21

#define NLOHMANN_JSON_PASTE21 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)

◆ NLOHMANN_JSON_PASTE22

#define NLOHMANN_JSON_PASTE22 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)

◆ NLOHMANN_JSON_PASTE23

#define NLOHMANN_JSON_PASTE23 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)

◆ NLOHMANN_JSON_PASTE24

#define NLOHMANN_JSON_PASTE24 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)

◆ NLOHMANN_JSON_PASTE25

#define NLOHMANN_JSON_PASTE25 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)

◆ NLOHMANN_JSON_PASTE26

#define NLOHMANN_JSON_PASTE26 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)

◆ NLOHMANN_JSON_PASTE27

#define NLOHMANN_JSON_PASTE27 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)

◆ NLOHMANN_JSON_PASTE28

#define NLOHMANN_JSON_PASTE28 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)

◆ NLOHMANN_JSON_PASTE29

#define NLOHMANN_JSON_PASTE29 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)

◆ NLOHMANN_JSON_PASTE3

#define NLOHMANN_JSON_PASTE3 (   func,
  v1,
  v2 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)

◆ NLOHMANN_JSON_PASTE30

#define NLOHMANN_JSON_PASTE30 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)

◆ NLOHMANN_JSON_PASTE31

#define NLOHMANN_JSON_PASTE31 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)

◆ NLOHMANN_JSON_PASTE32

#define NLOHMANN_JSON_PASTE32 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)

◆ NLOHMANN_JSON_PASTE33

#define NLOHMANN_JSON_PASTE33 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)

◆ NLOHMANN_JSON_PASTE34

#define NLOHMANN_JSON_PASTE34 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)

◆ NLOHMANN_JSON_PASTE35

#define NLOHMANN_JSON_PASTE35 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)

◆ NLOHMANN_JSON_PASTE36

#define NLOHMANN_JSON_PASTE36 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)

◆ NLOHMANN_JSON_PASTE37

#define NLOHMANN_JSON_PASTE37 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)

◆ NLOHMANN_JSON_PASTE38

#define NLOHMANN_JSON_PASTE38 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)

◆ NLOHMANN_JSON_PASTE39

#define NLOHMANN_JSON_PASTE39 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)

◆ NLOHMANN_JSON_PASTE4

#define NLOHMANN_JSON_PASTE4 (   func,
  v1,
  v2,
  v3 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)

◆ NLOHMANN_JSON_PASTE40

#define NLOHMANN_JSON_PASTE40 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)

◆ NLOHMANN_JSON_PASTE41

#define NLOHMANN_JSON_PASTE41 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)

◆ NLOHMANN_JSON_PASTE42

#define NLOHMANN_JSON_PASTE42 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)

◆ NLOHMANN_JSON_PASTE43

#define NLOHMANN_JSON_PASTE43 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)

◆ NLOHMANN_JSON_PASTE44

#define NLOHMANN_JSON_PASTE44 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)

◆ NLOHMANN_JSON_PASTE45

#define NLOHMANN_JSON_PASTE45 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)

◆ NLOHMANN_JSON_PASTE46

#define NLOHMANN_JSON_PASTE46 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)

◆ NLOHMANN_JSON_PASTE47

#define NLOHMANN_JSON_PASTE47 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)

◆ NLOHMANN_JSON_PASTE48

#define NLOHMANN_JSON_PASTE48 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)

◆ NLOHMANN_JSON_PASTE49

#define NLOHMANN_JSON_PASTE49 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)

◆ NLOHMANN_JSON_PASTE5

#define NLOHMANN_JSON_PASTE5 (   func,
  v1,
  v2,
  v3,
  v4 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)

◆ NLOHMANN_JSON_PASTE50

#define NLOHMANN_JSON_PASTE50 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)

◆ NLOHMANN_JSON_PASTE51

#define NLOHMANN_JSON_PASTE51 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)

◆ NLOHMANN_JSON_PASTE52

#define NLOHMANN_JSON_PASTE52 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)

◆ NLOHMANN_JSON_PASTE53

#define NLOHMANN_JSON_PASTE53 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)

◆ NLOHMANN_JSON_PASTE54

#define NLOHMANN_JSON_PASTE54 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)

◆ NLOHMANN_JSON_PASTE55

#define NLOHMANN_JSON_PASTE55 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)

◆ NLOHMANN_JSON_PASTE56

#define NLOHMANN_JSON_PASTE56 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)

◆ NLOHMANN_JSON_PASTE57

#define NLOHMANN_JSON_PASTE57 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)

◆ NLOHMANN_JSON_PASTE58

#define NLOHMANN_JSON_PASTE58 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)

◆ NLOHMANN_JSON_PASTE59

#define NLOHMANN_JSON_PASTE59 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)

◆ NLOHMANN_JSON_PASTE6

#define NLOHMANN_JSON_PASTE6 (   func,
  v1,
  v2,
  v3,
  v4,
  v5 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)

◆ NLOHMANN_JSON_PASTE60

#define NLOHMANN_JSON_PASTE60 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58,
  v59 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)

◆ NLOHMANN_JSON_PASTE61

#define NLOHMANN_JSON_PASTE61 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58,
  v59,
  v60 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)

◆ NLOHMANN_JSON_PASTE62

#define NLOHMANN_JSON_PASTE62 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58,
  v59,
  v60,
  v61 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)

◆ NLOHMANN_JSON_PASTE63

#define NLOHMANN_JSON_PASTE63 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58,
  v59,
  v60,
  v61,
  v62 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)

◆ NLOHMANN_JSON_PASTE64

#define NLOHMANN_JSON_PASTE64 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8,
  v9,
  v10,
  v11,
  v12,
  v13,
  v14,
  v15,
  v16,
  v17,
  v18,
  v19,
  v20,
  v21,
  v22,
  v23,
  v24,
  v25,
  v26,
  v27,
  v28,
  v29,
  v30,
  v31,
  v32,
  v33,
  v34,
  v35,
  v36,
  v37,
  v38,
  v39,
  v40,
  v41,
  v42,
  v43,
  v44,
  v45,
  v46,
  v47,
  v48,
  v49,
  v50,
  v51,
  v52,
  v53,
  v54,
  v55,
  v56,
  v57,
  v58,
  v59,
  v60,
  v61,
  v62,
  v63 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)

◆ NLOHMANN_JSON_PASTE7

#define NLOHMANN_JSON_PASTE7 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)

◆ NLOHMANN_JSON_PASTE8

#define NLOHMANN_JSON_PASTE8 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)

◆ NLOHMANN_JSON_PASTE9

#define NLOHMANN_JSON_PASTE9 (   func,
  v1,
  v2,
  v3,
  v4,
  v5,
  v6,
  v7,
  v8 
)    NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)

◆ NLOHMANN_JSON_SERIALIZE_ENUM

#define NLOHMANN_JSON_SERIALIZE_ENUM (   ENUM_TYPE,
  ... 
)
Value:
template<typename BasicJsonType> \
inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
{ \
static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
auto it = std::find_if(std::begin(m), std::end(m), \
[e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
{ \
return ej_pair.first == e; \
}); \
j = ((it != std::end(m)) ? it : std::begin(m))->second; \
} \
template<typename BasicJsonType> \
inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
{ \
static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
auto it = std::find_if(std::begin(m), std::end(m), \
[&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
{ \
return ej_pair.second == j; \
}); \
e = ((it != std::end(m)) ? it : std::begin(m))->first; \
}
void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
Definition: json.hpp:4593

macro to briefly define a mapping between an enum and JSON

Since
version 3.4.0

◆ NLOHMANN_JSON_TO

#define NLOHMANN_JSON_TO (   v1)    nlohmann_json_j[#v1] = nlohmann_json_t.v1;

◆ NLOHMANN_JSON_VERSION_MAJOR

#define NLOHMANN_JSON_VERSION_MAJOR   3

◆ NLOHMANN_JSON_VERSION_MINOR

#define NLOHMANN_JSON_VERSION_MINOR   11

◆ NLOHMANN_JSON_VERSION_PATCH

#define NLOHMANN_JSON_VERSION_PATCH   2

Typedef Documentation

◆ json

using json = basic_json<>

default specialization

See also
https://json.nlohmann.me/api/json/

◆ ordered_json

using ordered_json = basic_json<nlohmann::ordered_map>

specialization that maintains the insertion order of object keys

See also
https://json.nlohmann.me/api/ordered_json/

Function Documentation

◆ NLOHMANN_CAN_CALL_STD_FUNC_IMPL() [1/2]

NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN NLOHMANN_CAN_CALL_STD_FUNC_IMPL ( begin  )

◆ NLOHMANN_CAN_CALL_STD_FUNC_IMPL() [2/2]

NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN NLOHMANN_CAN_CALL_STD_FUNC_IMPL ( end  )

◆ operator!=() [1/3]

template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator!= ( const json_pointer< RefStringTypeLhs > &  lhs,
const json_pointer< RefStringTypeRhs > &  rhs 
)
inlinenoexcept

◆ operator!=() [2/3]

template<typename RefStringTypeLhs , typename StringType = typename json_pointer<RefStringTypeLhs>::string_t>
bool operator!= ( const json_pointer< RefStringTypeLhs > &  lhs,
const StringType &  rhs 
)
inline

◆ operator!=() [3/3]

template<typename RefStringTypeRhs , typename StringType = typename json_pointer<RefStringTypeRhs>::string_t>
bool operator!= ( const StringType &  lhs,
const json_pointer< RefStringTypeRhs > &  rhs 
)
inline

◆ operator<()

template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator< ( const json_pointer< RefStringTypeLhs > &  lhs,
const json_pointer< RefStringTypeRhs > &  rhs 
)
inlinenoexcept

◆ operator==() [1/3]

template<typename RefStringTypeLhs , typename RefStringTypeRhs >
bool operator== ( const json_pointer< RefStringTypeLhs > &  lhs,
const json_pointer< RefStringTypeRhs > &  rhs 
)
inlinenoexcept

◆ operator==() [2/3]

template<typename RefStringTypeLhs , typename StringType = typename json_pointer<RefStringTypeLhs>::string_t>
bool operator== ( const json_pointer< RefStringTypeLhs > &  lhs,
const StringType &  rhs 
)
inline

◆ operator==() [3/3]

template<typename RefStringTypeRhs , typename StringType = typename json_pointer<RefStringTypeRhs>::string_t>
bool operator== ( const StringType &  lhs,
const json_pointer< RefStringTypeRhs > &  rhs 
)
inline

◆ to_string()

NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string ( const NLOHMANN_BASIC_JSON_TPL j)

user-defined to_string function for JSON values

See also
https://json.nlohmann.me/api/basic_json/to_string/