2021-12-29 15:41:01 +03:00
|
|
|
# Macros
|
|
|
|
|
|
2022-04-09 19:09:23 +03:00
|
|
|
!!! note
|
|
|
|
|
|
|
|
|
|
This page is under construction. See the [macro overview page](../../features/macros.md) until then.
|
|
|
|
|
|
2022-04-16 23:43:11 +03:00
|
|
|
Some aspects of the library can be configured by defining preprocessor macros **before** including the `json.hpp`
|
|
|
|
|
header.
|
|
|
|
|
|
|
|
|
|
## Runtime assertions
|
2021-12-29 15:41:01 +03:00
|
|
|
|
2022-04-16 23:33:06 +03:00
|
|
|
- [**JSON_ASSERT(x)**](json_assert.md) - control behavior of runtime assertions
|
2022-04-16 23:43:11 +03:00
|
|
|
|
|
|
|
|
## Exceptions
|
|
|
|
|
|
2021-12-29 15:41:01 +03:00
|
|
|
- `JSON_CATCH_USER(exception)`
|
2022-04-16 23:33:06 +03:00
|
|
|
- [**JSON_DIAGNOSTICS**](json_diagnostics.md) - control extended diagnostics
|
2022-04-16 23:43:11 +03:00
|
|
|
- `JSON_NOEXCEPTION`
|
|
|
|
|
- `JSON_THROW_USER(exception)`
|
|
|
|
|
- `JSON_TRY_USER`
|
|
|
|
|
|
|
|
|
|
## Language support
|
|
|
|
|
|
2021-12-29 15:41:01 +03:00
|
|
|
- `JSON_HAS_CPP_11`, `JSON_HAS_CPP_14`, `JSON_HAS_CPP_17`, `JSON_HAS_CPP_20`
|
2022-04-16 23:33:06 +03:00
|
|
|
- [**JSON_HAS_FILESYSTEM**/**JSON_HAS_EXPERIMENTAL_FILESYSTEM**](json_has_filesystem.md) - control `std::filesystem` support
|
2021-12-29 15:41:01 +03:00
|
|
|
- `JSON_NO_IO`
|
2022-04-16 23:33:06 +03:00
|
|
|
- [**JSON_SKIP_UNSUPPORTED_COMPILER_CHECK**](json_skip_unsupported_compiler_check.md) - do not warn about unsupported compilers
|
2022-04-16 23:43:11 +03:00
|
|
|
- `JSON_SKIP_LIBRARY_VERSION_CHECK`
|
|
|
|
|
|
|
|
|
|
## Type conversions
|
|
|
|
|
|
2021-12-29 15:41:01 +03:00
|
|
|
- `JSON_USE_IMPLICIT_CONVERSIONS`
|
2022-04-16 23:43:11 +03:00
|
|
|
|
|
|
|
|
## Serialization/deserialization macros
|
|
|
|
|
|
2021-12-29 15:41:01 +03:00
|
|
|
- `NLOHMANN_DEFINE_TYPE_INTRUSIVE(type, member...)`
|
|
|
|
|
- `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(type, member...)`
|
|
|
|
|
- `NLOHMANN_JSON_SERIALIZE_ENUM(type, ...)`
|
|
|
|
|
- `NLOHMANN_JSON_VERSION_MAJOR`, `NLOHMANN_JSON_VERSION_MINOR`, `NLOHMANN_JSON_VERSION_PATCH`
|