Skip to content

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, __MINGW32__ is not defined), and 0 otherwise.

When the macro is not defined, the library will define it to its default value.

Known compiler/stdlib exclusions

  • MinGW -- disabled, because its std::ranges support is incomplete (issue #4916).
  • All toolchains for which JSON_HAS_RANGES is disabled.

Examples

Example

The code below forces the library to disable the conversion from range views:

#define JSON_HAS_RANGE_VIEW_CONVERSION 0
#include <nlohmann/json.hpp>

...

See also

Version history

  • Added in version 3.13.0 unreleased.