mqt-core 3.0.2__cp311-cp311-win_amd64.whl → 3.2.0__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mqt-core might be problematic. Click here for more details.

Files changed (111) hide show
  1. mqt/core/__init__.py +3 -3
  2. mqt/core/_version.py +2 -2
  3. mqt/core/bin/mqt-core-algorithms.dll +0 -0
  4. mqt/core/bin/mqt-core-circuit-optimizer.dll +0 -0
  5. mqt/core/bin/mqt-core-dd.dll +0 -0
  6. mqt/core/bin/mqt-core-ds.dll +0 -0
  7. mqt/core/bin/mqt-core-ir.dll +0 -0
  8. mqt/core/bin/mqt-core-na.dll +0 -0
  9. mqt/core/bin/mqt-core-qasm.dll +0 -0
  10. mqt/core/bin/mqt-core-zx.dll +0 -0
  11. mqt/core/dd.cp311-win_amd64.pyd +0 -0
  12. mqt/core/dd.pyi +9 -22
  13. mqt/core/include/mqt-core/datastructures/DirectedAcyclicGraph.hpp +4 -4
  14. mqt/core/include/mqt-core/datastructures/DirectedGraph.hpp +7 -7
  15. mqt/core/include/mqt-core/datastructures/UndirectedGraph.hpp +8 -8
  16. mqt/core/include/mqt-core/dd/Approximation.hpp +45 -0
  17. mqt/core/include/mqt-core/dd/Complex.hpp +6 -0
  18. mqt/core/include/mqt-core/dd/ComplexNumbers.hpp +0 -18
  19. mqt/core/include/mqt-core/dd/ComputeTable.hpp +4 -1
  20. mqt/core/include/mqt-core/dd/DDDefinitions.hpp +0 -7
  21. mqt/core/include/mqt-core/dd/Edge.hpp +16 -0
  22. mqt/core/include/mqt-core/dd/Export.hpp +1 -2
  23. mqt/core/include/mqt-core/dd/Node.hpp +26 -49
  24. mqt/core/include/mqt-core/dd/Operations.hpp +27 -0
  25. mqt/core/include/mqt-core/dd/Package.hpp +141 -123
  26. mqt/core/include/mqt-core/dd/RealNumber.hpp +49 -66
  27. mqt/core/include/mqt-core/dd/RealNumberUniqueTable.hpp +14 -25
  28. mqt/core/include/mqt-core/dd/StateGeneration.hpp +143 -0
  29. mqt/core/include/mqt-core/dd/UnaryComputeTable.hpp +6 -4
  30. mqt/core/include/mqt-core/dd/UniqueTable.hpp +13 -39
  31. mqt/core/include/mqt-core/dd/statistics/PackageStatistics.hpp +8 -7
  32. mqt/core/include/mqt-core/dd/statistics/UniqueTableStatistics.hpp +0 -10
  33. mqt/core/include/mqt-core/ir/QuantumComputation.hpp +3 -0
  34. mqt/core/include/mqt-core/ir/operations/CompoundOperation.hpp +2 -0
  35. mqt/core/include/mqt-core/ir/operations/Expression.hpp +1 -1
  36. mqt/core/include/mqt-core/ir/operations/Operation.hpp +2 -2
  37. mqt/core/ir/operations.pyi +58 -86
  38. mqt/core/ir.cp311-win_amd64.pyd +0 -0
  39. mqt/core/lib/mqt-core-algorithms.lib +0 -0
  40. mqt/core/lib/mqt-core-circuit-optimizer.lib +0 -0
  41. mqt/core/lib/mqt-core-dd.lib +0 -0
  42. mqt/core/lib/mqt-core-ds.lib +0 -0
  43. mqt/core/lib/mqt-core-ir.lib +0 -0
  44. mqt/core/lib/mqt-core-na.lib +0 -0
  45. mqt/core/lib/mqt-core-qasm.lib +0 -0
  46. mqt/core/lib/mqt-core-zx.lib +0 -0
  47. mqt/core/plugins/__init__.py +0 -8
  48. mqt/core/plugins/qiskit/qiskit_to_mqt.py +6 -0
  49. mqt/core/share/cmake/mqt-core/AddMQTPythonBinding.cmake +52 -0
  50. mqt/core/share/cmake/mqt-core/PackageAddTest.cmake +4 -4
  51. mqt/core/share/cmake/mqt-core/mqt-core-config-version.cmake +3 -3
  52. mqt/core/share/cmake/mqt-core/mqt-core-config.cmake +1 -0
  53. mqt/core/share/cmake/mqt-core/mqt-core-targets.cmake +2 -2
  54. mqt_core-3.2.0.dist-info/DELVEWHEEL +2 -0
  55. {mqt_core-3.0.2.dist-info → mqt_core-3.2.0.dist-info}/METADATA +49 -23
  56. {mqt_core-3.0.2.dist-info → mqt_core-3.2.0.dist-info}/RECORD +60 -107
  57. {mqt_core-3.0.2.dist-info → mqt_core-3.2.0.dist-info}/WHEEL +1 -1
  58. mqt_core.libs/msvcp140.dll +0 -0
  59. mqt/core/include/nlohmann/adl_serializer.hpp +0 -55
  60. mqt/core/include/nlohmann/byte_container_with_subtype.hpp +0 -103
  61. mqt/core/include/nlohmann/detail/abi_macros.hpp +0 -100
  62. mqt/core/include/nlohmann/detail/conversions/from_json.hpp +0 -497
  63. mqt/core/include/nlohmann/detail/conversions/to_chars.hpp +0 -1118
  64. mqt/core/include/nlohmann/detail/conversions/to_json.hpp +0 -446
  65. mqt/core/include/nlohmann/detail/exceptions.hpp +0 -257
  66. mqt/core/include/nlohmann/detail/hash.hpp +0 -129
  67. mqt/core/include/nlohmann/detail/input/binary_reader.hpp +0 -3009
  68. mqt/core/include/nlohmann/detail/input/input_adapters.hpp +0 -492
  69. mqt/core/include/nlohmann/detail/input/json_sax.hpp +0 -727
  70. mqt/core/include/nlohmann/detail/input/lexer.hpp +0 -1633
  71. mqt/core/include/nlohmann/detail/input/parser.hpp +0 -519
  72. mqt/core/include/nlohmann/detail/input/position_t.hpp +0 -37
  73. mqt/core/include/nlohmann/detail/iterators/internal_iterator.hpp +0 -35
  74. mqt/core/include/nlohmann/detail/iterators/iter_impl.hpp +0 -751
  75. mqt/core/include/nlohmann/detail/iterators/iteration_proxy.hpp +0 -242
  76. mqt/core/include/nlohmann/detail/iterators/iterator_traits.hpp +0 -61
  77. mqt/core/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +0 -130
  78. mqt/core/include/nlohmann/detail/iterators/primitive_iterator.hpp +0 -132
  79. mqt/core/include/nlohmann/detail/json_custom_base_class.hpp +0 -39
  80. mqt/core/include/nlohmann/detail/json_pointer.hpp +0 -988
  81. mqt/core/include/nlohmann/detail/json_ref.hpp +0 -78
  82. mqt/core/include/nlohmann/detail/macro_scope.hpp +0 -482
  83. mqt/core/include/nlohmann/detail/macro_unscope.hpp +0 -45
  84. mqt/core/include/nlohmann/detail/meta/call_std/begin.hpp +0 -17
  85. mqt/core/include/nlohmann/detail/meta/call_std/end.hpp +0 -17
  86. mqt/core/include/nlohmann/detail/meta/cpp_future.hpp +0 -171
  87. mqt/core/include/nlohmann/detail/meta/detected.hpp +0 -70
  88. mqt/core/include/nlohmann/detail/meta/identity_tag.hpp +0 -21
  89. mqt/core/include/nlohmann/detail/meta/is_sax.hpp +0 -159
  90. mqt/core/include/nlohmann/detail/meta/std_fs.hpp +0 -29
  91. mqt/core/include/nlohmann/detail/meta/type_traits.hpp +0 -795
  92. mqt/core/include/nlohmann/detail/meta/void_t.hpp +0 -24
  93. mqt/core/include/nlohmann/detail/output/binary_writer.hpp +0 -1838
  94. mqt/core/include/nlohmann/detail/output/output_adapters.hpp +0 -147
  95. mqt/core/include/nlohmann/detail/output/serializer.hpp +0 -988
  96. mqt/core/include/nlohmann/detail/string_concat.hpp +0 -146
  97. mqt/core/include/nlohmann/detail/string_escape.hpp +0 -72
  98. mqt/core/include/nlohmann/detail/value_t.hpp +0 -118
  99. mqt/core/include/nlohmann/json.hpp +0 -5258
  100. mqt/core/include/nlohmann/json_fwd.hpp +0 -75
  101. mqt/core/include/nlohmann/ordered_map.hpp +0 -359
  102. mqt/core/include/nlohmann/thirdparty/hedley/hedley.hpp +0 -2045
  103. mqt/core/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +0 -158
  104. mqt/core/nlohmann_json.natvis +0 -278
  105. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake +0 -15
  106. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfigVersion.cmake +0 -20
  107. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonTargets.cmake +0 -110
  108. mqt/core/share/pkgconfig/nlohmann_json.pc +0 -4
  109. mqt_core-3.0.2.dist-info/DELVEWHEEL +0 -2
  110. {mqt_core-3.0.2.dist-info → mqt_core-3.2.0.dist-info}/entry_points.txt +0 -0
  111. {mqt_core-3.0.2.dist-info → mqt_core-3.2.0.dist-info}/licenses/LICENSE.md +0 -0
@@ -1,17 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-License-Identifier: MIT
8
-
9
- #pragma once
10
-
11
- #include <nlohmann/detail/macro_scope.hpp>
12
-
13
- NLOHMANN_JSON_NAMESPACE_BEGIN
14
-
15
- NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end);
16
-
17
- NLOHMANN_JSON_NAMESPACE_END
@@ -1,171 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-FileCopyrightText: 2018 The Abseil Authors
8
- // SPDX-License-Identifier: MIT
9
-
10
- #pragma once
11
-
12
- #include <array> // array
13
- #include <cstddef> // size_t
14
- #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
15
- #include <utility> // index_sequence, make_index_sequence, index_sequence_for
16
-
17
- #include <nlohmann/detail/macro_scope.hpp>
18
-
19
- NLOHMANN_JSON_NAMESPACE_BEGIN
20
- namespace detail
21
- {
22
-
23
- template<typename T>
24
- using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
25
-
26
- #ifdef JSON_HAS_CPP_14
27
-
28
- // the following utilities are natively available in C++14
29
- using std::enable_if_t;
30
- using std::index_sequence;
31
- using std::make_index_sequence;
32
- using std::index_sequence_for;
33
-
34
- #else
35
-
36
- // alias templates to reduce boilerplate
37
- template<bool B, typename T = void>
38
- using enable_if_t = typename std::enable_if<B, T>::type;
39
-
40
- // The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h
41
- // which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0.
42
-
43
- //// START OF CODE FROM GOOGLE ABSEIL
44
-
45
- // integer_sequence
46
- //
47
- // Class template representing a compile-time integer sequence. An instantiation
48
- // of `integer_sequence<T, Ints...>` has a sequence of integers encoded in its
49
- // type through its template arguments (which is a common need when
50
- // working with C++11 variadic templates). `absl::integer_sequence` is designed
51
- // to be a drop-in replacement for C++14's `std::integer_sequence`.
52
- //
53
- // Example:
54
- //
55
- // template< class T, T... Ints >
56
- // void user_function(integer_sequence<T, Ints...>);
57
- //
58
- // int main()
59
- // {
60
- // // user_function's `T` will be deduced to `int` and `Ints...`
61
- // // will be deduced to `0, 1, 2, 3, 4`.
62
- // user_function(make_integer_sequence<int, 5>());
63
- // }
64
- template <typename T, T... Ints>
65
- struct integer_sequence
66
- {
67
- using value_type = T;
68
- static constexpr std::size_t size() noexcept
69
- {
70
- return sizeof...(Ints);
71
- }
72
- };
73
-
74
- // index_sequence
75
- //
76
- // A helper template for an `integer_sequence` of `size_t`,
77
- // `absl::index_sequence` is designed to be a drop-in replacement for C++14's
78
- // `std::index_sequence`.
79
- template <size_t... Ints>
80
- using index_sequence = integer_sequence<size_t, Ints...>;
81
-
82
- namespace utility_internal
83
- {
84
-
85
- template <typename Seq, size_t SeqSize, size_t Rem>
86
- struct Extend;
87
-
88
- // Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency.
89
- template <typename T, T... Ints, size_t SeqSize>
90
- struct Extend<integer_sequence<T, Ints...>, SeqSize, 0>
91
- {
92
- using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >;
93
- };
94
-
95
- template <typename T, T... Ints, size_t SeqSize>
96
- struct Extend<integer_sequence<T, Ints...>, SeqSize, 1>
97
- {
98
- using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >;
99
- };
100
-
101
- // Recursion helper for 'make_integer_sequence<T, N>'.
102
- // 'Gen<T, N>::type' is an alias for 'integer_sequence<T, 0, 1, ... N-1>'.
103
- template <typename T, size_t N>
104
- struct Gen
105
- {
106
- using type =
107
- typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type;
108
- };
109
-
110
- template <typename T>
111
- struct Gen<T, 0>
112
- {
113
- using type = integer_sequence<T>;
114
- };
115
-
116
- } // namespace utility_internal
117
-
118
- // Compile-time sequences of integers
119
-
120
- // make_integer_sequence
121
- //
122
- // This template alias is equivalent to
123
- // `integer_sequence<int, 0, 1, ..., N-1>`, and is designed to be a drop-in
124
- // replacement for C++14's `std::make_integer_sequence`.
125
- template <typename T, T N>
126
- using make_integer_sequence = typename utility_internal::Gen<T, N>::type;
127
-
128
- // make_index_sequence
129
- //
130
- // This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`,
131
- // and is designed to be a drop-in replacement for C++14's
132
- // `std::make_index_sequence`.
133
- template <size_t N>
134
- using make_index_sequence = make_integer_sequence<size_t, N>;
135
-
136
- // index_sequence_for
137
- //
138
- // Converts a typename pack into an index sequence of the same length, and
139
- // is designed to be a drop-in replacement for C++14's
140
- // `std::index_sequence_for()`
141
- template <typename... Ts>
142
- using index_sequence_for = make_index_sequence<sizeof...(Ts)>;
143
-
144
- //// END OF CODE FROM GOOGLE ABSEIL
145
-
146
- #endif
147
-
148
- // dispatch utility (taken from ranges-v3)
149
- template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
150
- template<> struct priority_tag<0> {};
151
-
152
- // taken from ranges-v3
153
- template<typename T>
154
- struct static_const
155
- {
156
- static JSON_INLINE_VARIABLE constexpr T value{};
157
- };
158
-
159
- #ifndef JSON_HAS_CPP_17
160
- template<typename T>
161
- constexpr T static_const<T>::value;
162
- #endif
163
-
164
- template<typename T, typename... Args>
165
- inline constexpr std::array<T, sizeof...(Args)> make_array(Args&& ... args)
166
- {
167
- return std::array<T, sizeof...(Args)> {{static_cast<T>(std::forward<Args>(args))...}};
168
- }
169
-
170
- } // namespace detail
171
- NLOHMANN_JSON_NAMESPACE_END
@@ -1,70 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-License-Identifier: MIT
8
-
9
- #pragma once
10
-
11
- #include <type_traits>
12
-
13
- #include <nlohmann/detail/meta/void_t.hpp>
14
-
15
- NLOHMANN_JSON_NAMESPACE_BEGIN
16
- namespace detail
17
- {
18
-
19
- // https://en.cppreference.com/w/cpp/experimental/is_detected
20
- struct nonesuch
21
- {
22
- nonesuch() = delete;
23
- ~nonesuch() = delete;
24
- nonesuch(nonesuch const&) = delete;
25
- nonesuch(nonesuch const&&) = delete;
26
- void operator=(nonesuch const&) = delete;
27
- void operator=(nonesuch&&) = delete;
28
- };
29
-
30
- template<class Default,
31
- class AlwaysVoid,
32
- template<class...> class Op,
33
- class... Args>
34
- struct detector
35
- {
36
- using value_t = std::false_type;
37
- using type = Default;
38
- };
39
-
40
- template<class Default, template<class...> class Op, class... Args>
41
- struct detector<Default, void_t<Op<Args...>>, Op, Args...>
42
- {
43
- using value_t = std::true_type;
44
- using type = Op<Args...>;
45
- };
46
-
47
- template<template<class...> class Op, class... Args>
48
- using is_detected = typename detector<nonesuch, void, Op, Args...>::value_t;
49
-
50
- template<template<class...> class Op, class... Args>
51
- struct is_detected_lazy : is_detected<Op, Args...> { };
52
-
53
- template<template<class...> class Op, class... Args>
54
- using detected_t = typename detector<nonesuch, void, Op, Args...>::type;
55
-
56
- template<class Default, template<class...> class Op, class... Args>
57
- using detected_or = detector<Default, void, Op, Args...>;
58
-
59
- template<class Default, template<class...> class Op, class... Args>
60
- using detected_or_t = typename detected_or<Default, Op, Args...>::type;
61
-
62
- template<class Expected, template<class...> class Op, class... Args>
63
- using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>;
64
-
65
- template<class To, template<class...> class Op, class... Args>
66
- using is_detected_convertible =
67
- std::is_convertible<detected_t<Op, Args...>, To>;
68
-
69
- } // namespace detail
70
- NLOHMANN_JSON_NAMESPACE_END
@@ -1,21 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-License-Identifier: MIT
8
-
9
- #pragma once
10
-
11
- #include <nlohmann/detail/abi_macros.hpp>
12
-
13
- NLOHMANN_JSON_NAMESPACE_BEGIN
14
- namespace detail
15
- {
16
-
17
- // dispatching helper struct
18
- template <class T> struct identity_tag {};
19
-
20
- } // namespace detail
21
- NLOHMANN_JSON_NAMESPACE_END
@@ -1,159 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-License-Identifier: MIT
8
-
9
- #pragma once
10
-
11
- #include <cstdint> // size_t
12
- #include <utility> // declval
13
- #include <string> // string
14
-
15
- #include <nlohmann/detail/abi_macros.hpp>
16
- #include <nlohmann/detail/meta/detected.hpp>
17
- #include <nlohmann/detail/meta/type_traits.hpp>
18
-
19
- NLOHMANN_JSON_NAMESPACE_BEGIN
20
- namespace detail
21
- {
22
-
23
- template<typename T>
24
- using null_function_t = decltype(std::declval<T&>().null());
25
-
26
- template<typename T>
27
- using boolean_function_t =
28
- decltype(std::declval<T&>().boolean(std::declval<bool>()));
29
-
30
- template<typename T, typename Integer>
31
- using number_integer_function_t =
32
- decltype(std::declval<T&>().number_integer(std::declval<Integer>()));
33
-
34
- template<typename T, typename Unsigned>
35
- using number_unsigned_function_t =
36
- decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()));
37
-
38
- template<typename T, typename Float, typename String>
39
- using number_float_function_t = decltype(std::declval<T&>().number_float(
40
- std::declval<Float>(), std::declval<const String&>()));
41
-
42
- template<typename T, typename String>
43
- using string_function_t =
44
- decltype(std::declval<T&>().string(std::declval<String&>()));
45
-
46
- template<typename T, typename Binary>
47
- using binary_function_t =
48
- decltype(std::declval<T&>().binary(std::declval<Binary&>()));
49
-
50
- template<typename T>
51
- using start_object_function_t =
52
- decltype(std::declval<T&>().start_object(std::declval<std::size_t>()));
53
-
54
- template<typename T, typename String>
55
- using key_function_t =
56
- decltype(std::declval<T&>().key(std::declval<String&>()));
57
-
58
- template<typename T>
59
- using end_object_function_t = decltype(std::declval<T&>().end_object());
60
-
61
- template<typename T>
62
- using start_array_function_t =
63
- decltype(std::declval<T&>().start_array(std::declval<std::size_t>()));
64
-
65
- template<typename T>
66
- using end_array_function_t = decltype(std::declval<T&>().end_array());
67
-
68
- template<typename T, typename Exception>
69
- using parse_error_function_t = decltype(std::declval<T&>().parse_error(
70
- std::declval<std::size_t>(), std::declval<const std::string&>(),
71
- std::declval<const Exception&>()));
72
-
73
- template<typename SAX, typename BasicJsonType>
74
- struct is_sax
75
- {
76
- private:
77
- static_assert(is_basic_json<BasicJsonType>::value,
78
- "BasicJsonType must be of type basic_json<...>");
79
-
80
- using number_integer_t = typename BasicJsonType::number_integer_t;
81
- using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
82
- using number_float_t = typename BasicJsonType::number_float_t;
83
- using string_t = typename BasicJsonType::string_t;
84
- using binary_t = typename BasicJsonType::binary_t;
85
- using exception_t = typename BasicJsonType::exception;
86
-
87
- public:
88
- static constexpr bool value =
89
- is_detected_exact<bool, null_function_t, SAX>::value &&
90
- is_detected_exact<bool, boolean_function_t, SAX>::value &&
91
- is_detected_exact<bool, number_integer_function_t, SAX, number_integer_t>::value &&
92
- is_detected_exact<bool, number_unsigned_function_t, SAX, number_unsigned_t>::value &&
93
- is_detected_exact<bool, number_float_function_t, SAX, number_float_t, string_t>::value &&
94
- is_detected_exact<bool, string_function_t, SAX, string_t>::value &&
95
- is_detected_exact<bool, binary_function_t, SAX, binary_t>::value &&
96
- is_detected_exact<bool, start_object_function_t, SAX>::value &&
97
- is_detected_exact<bool, key_function_t, SAX, string_t>::value &&
98
- is_detected_exact<bool, end_object_function_t, SAX>::value &&
99
- is_detected_exact<bool, start_array_function_t, SAX>::value &&
100
- is_detected_exact<bool, end_array_function_t, SAX>::value &&
101
- is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value;
102
- };
103
-
104
- template<typename SAX, typename BasicJsonType>
105
- struct is_sax_static_asserts
106
- {
107
- private:
108
- static_assert(is_basic_json<BasicJsonType>::value,
109
- "BasicJsonType must be of type basic_json<...>");
110
-
111
- using number_integer_t = typename BasicJsonType::number_integer_t;
112
- using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
113
- using number_float_t = typename BasicJsonType::number_float_t;
114
- using string_t = typename BasicJsonType::string_t;
115
- using binary_t = typename BasicJsonType::binary_t;
116
- using exception_t = typename BasicJsonType::exception;
117
-
118
- public:
119
- static_assert(is_detected_exact<bool, null_function_t, SAX>::value,
120
- "Missing/invalid function: bool null()");
121
- static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
122
- "Missing/invalid function: bool boolean(bool)");
123
- static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
124
- "Missing/invalid function: bool boolean(bool)");
125
- static_assert(
126
- is_detected_exact<bool, number_integer_function_t, SAX,
127
- number_integer_t>::value,
128
- "Missing/invalid function: bool number_integer(number_integer_t)");
129
- static_assert(
130
- is_detected_exact<bool, number_unsigned_function_t, SAX,
131
- number_unsigned_t>::value,
132
- "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
133
- static_assert(is_detected_exact<bool, number_float_function_t, SAX,
134
- number_float_t, string_t>::value,
135
- "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
136
- static_assert(
137
- is_detected_exact<bool, string_function_t, SAX, string_t>::value,
138
- "Missing/invalid function: bool string(string_t&)");
139
- static_assert(
140
- is_detected_exact<bool, binary_function_t, SAX, binary_t>::value,
141
- "Missing/invalid function: bool binary(binary_t&)");
142
- static_assert(is_detected_exact<bool, start_object_function_t, SAX>::value,
143
- "Missing/invalid function: bool start_object(std::size_t)");
144
- static_assert(is_detected_exact<bool, key_function_t, SAX, string_t>::value,
145
- "Missing/invalid function: bool key(string_t&)");
146
- static_assert(is_detected_exact<bool, end_object_function_t, SAX>::value,
147
- "Missing/invalid function: bool end_object()");
148
- static_assert(is_detected_exact<bool, start_array_function_t, SAX>::value,
149
- "Missing/invalid function: bool start_array(std::size_t)");
150
- static_assert(is_detected_exact<bool, end_array_function_t, SAX>::value,
151
- "Missing/invalid function: bool end_array()");
152
- static_assert(
153
- is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value,
154
- "Missing/invalid function: bool parse_error(std::size_t, const "
155
- "std::string&, const exception&)");
156
- };
157
-
158
- } // namespace detail
159
- NLOHMANN_JSON_NAMESPACE_END
@@ -1,29 +0,0 @@
1
- // __ _____ _____ _____
2
- // __| | __| | | | JSON for Modern C++
3
- // | | |__ | | | | | | version 3.11.3
4
- // |_____|_____|_____|_|___| https://github.com/nlohmann/json
5
- //
6
- // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
7
- // SPDX-License-Identifier: MIT
8
-
9
- #pragma once
10
-
11
- #include <nlohmann/detail/macro_scope.hpp>
12
-
13
- #if JSON_HAS_EXPERIMENTAL_FILESYSTEM
14
- #include <experimental/filesystem>
15
- NLOHMANN_JSON_NAMESPACE_BEGIN
16
- namespace detail
17
- {
18
- namespace std_fs = std::experimental::filesystem;
19
- } // namespace detail
20
- NLOHMANN_JSON_NAMESPACE_END
21
- #elif JSON_HAS_FILESYSTEM
22
- #include <filesystem>
23
- NLOHMANN_JSON_NAMESPACE_BEGIN
24
- namespace detail
25
- {
26
- namespace std_fs = std::filesystem;
27
- } // namespace detail
28
- NLOHMANN_JSON_NAMESPACE_END
29
- #endif