| # JSON_HAS_STD_FORMAT |
| |
| ```cpp |
| #define JSON_HAS_STD_FORMAT /* value */ |
| ``` |
| |
| This macro indicates whether the standard library has support for `std::format`/`std::formatter` (that |
| is, the `<format>` header). Possible values are `1` when supported or `0` when unsupported. |
| |
| ## Default definition |
| |
| The default value is detected based on the preprocessor macros `#!cpp JSON_HAS_CPP_20` and |
| `#!cpp __cpp_lib_format`. |
| |
| When the macro is not defined, the library will define it to its default value. |
| |
| ## Notes |
| |
| !!! info "Enabled functionality" |
| |
| When this macro evaluates to `1`, the library provides a |
| [`std::formatter<basic_json>`](../basic_json/std_formatter.md) specialization so JSON values can be |
| used directly with `std::format`. |
| |
| ## Examples |
| |
| ??? example |
| |
| The code below forces the library to disable support for `std::format`, even if the standard library |
| would otherwise support it: |
| |
| ```cpp |
| #define JSON_HAS_STD_FORMAT 0 |
| #include <nlohmann/json.hpp> |
| |
| ... |
| ``` |
| |
| ## Version history |
| |
| - Added in version 3.13.0. |