mirror of
https://github.com/nlohmann/json.git
synced 2026-10-13 01:47:11 +00:00
1.3 KiB
1.3 KiB
JSON_HAS_RANGE_VIEW_CONVERSION
#define JSON_HAS_RANGE_VIEW_CONVERSION /* value */
This macro indicates whether a JSON array can be constructed directly from a C++20 range view (std::ranges::view),
such as the result of std::views::filter or std::views::transform. Possible values are 1 when supported or 0
when unsupported.
Default definition
The default value is 1 if JSON_HAS_RANGES is 1 and the compiler is not MinGW (that is,
#!cpp __MINGW32__ is not defined), and 0 otherwise.
When the macro is not defined, the library will define it to its default value.
!!! info "Known compiler/stdlib exclusions"
- **MinGW** -- disabled, because its `std::ranges` support is incomplete ([issue #4916](https://github.com/nlohmann/json/issues/4916)).
- All toolchains for which [`JSON_HAS_RANGES`](json_has_ranges.md#default-definition) is disabled.
Examples
??? example
The code below forces the library to disable the conversion from range views:
```cpp
#define JSON_HAS_RANGE_VIEW_CONVERSION 0
#include <nlohmann/json.hpp>
...
```
See also
- JSON_HAS_RANGES - control
std::rangessupport - Constructing from a C++20 range view - usage of the feature
Version history
- Added in version 3.13.0.