Skip to content

Commit c8c1f19

Browse files
remediMarkus Palonen
authored andcommitted
Use JSON_HAS_CPP_17 only after it has been defined
1 parent 713038f commit c8c1f19

File tree

4 files changed

+16
-32
lines changed

4 files changed

+16
-32
lines changed

include/nlohmann/detail/conversions/from_json.hpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@
1313
#include <utility> // pair, declval
1414
#include <valarray> // valarray
1515

16-
#ifdef JSON_HAS_CPP_17
17-
#if __has_include(<optional>)
18-
#include <optional>
19-
#elif __has_include(<experimental/optional>)
20-
#include <experimental/optional>
21-
#endif
22-
#endif
23-
2416
#include <nlohmann/detail/exceptions.hpp>
2517
#include <nlohmann/detail/macro_scope.hpp>
2618
#include <nlohmann/detail/meta/cpp_future.hpp>

include/nlohmann/detail/conversions/to_json.hpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,6 @@
1010
#include <valarray> // valarray
1111
#include <vector> // vector
1212

13-
#ifdef JSON_HAS_CPP_17
14-
#if __has_include(<optional>)
15-
#include <optional>
16-
#elif __has_include(<experimental/optional>)
17-
#include <experimental/optional>
18-
#endif
19-
#endif
20-
2113
#include <nlohmann/detail/iterators/iteration_proxy.hpp>
2214
#include <nlohmann/detail/meta/cpp_future.hpp>
2315
#include <nlohmann/detail/meta/type_traits.hpp>

include/nlohmann/detail/macro_scope.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@
2727
#define JSON_HAS_CPP_14
2828
#endif
2929

30+
#ifdef JSON_HAS_CPP_17
31+
#if __has_include(<optional>)
32+
#include <optional>
33+
#elif __has_include(<experimental/optional>)
34+
#include <experimental/optional>
35+
#endif
36+
#endif
37+
3038
// disable float-equal warnings on GCC/clang
3139
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
3240
#pragma GCC diagnostic push

single_include/nlohmann/json.hpp

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,6 @@ SOFTWARE.
6969
#include <utility> // pair, declval
7070
#include <valarray> // valarray
7171

72-
#ifdef JSON_HAS_CPP_17
73-
#if __has_include(<optional>)
74-
#include <optional>
75-
#elif __has_include(<experimental/optional>)
76-
#include <experimental/optional>
77-
#endif
78-
#endif
79-
8072
// #include <nlohmann/detail/exceptions.hpp>
8173

8274

@@ -1739,6 +1731,14 @@ JSON_HEDLEY_DIAGNOSTIC_POP
17391731
#define JSON_HAS_CPP_14
17401732
#endif
17411733

1734+
#ifdef JSON_HAS_CPP_17
1735+
#if __has_include(<optional>)
1736+
#include <optional>
1737+
#elif __has_include(<experimental/optional>)
1738+
#include <experimental/optional>
1739+
#endif
1740+
#endif
1741+
17421742
// disable float-equal warnings on GCC/clang
17431743
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
17441744
#pragma GCC diagnostic push
@@ -3295,14 +3295,6 @@ constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::va
32953295
#include <valarray> // valarray
32963296
#include <vector> // vector
32973297

3298-
#ifdef JSON_HAS_CPP_17
3299-
#if __has_include(<optional>)
3300-
#include <optional>
3301-
#elif __has_include(<experimental/optional>)
3302-
#include <experimental/optional>
3303-
#endif
3304-
#endif
3305-
33063298
// #include <nlohmann/detail/iterators/iteration_proxy.hpp>
33073299

33083300

0 commit comments

Comments
 (0)