From 03a548353356d2ea500f6ecd66ac5fd73a4e5715 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sat, 16 Apr 2022 22:43:11 +0200 Subject: [PATCH] :memo: overwork macro documentation --- doc/mkdocs/docs/api/macros/index.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/doc/mkdocs/docs/api/macros/index.md b/doc/mkdocs/docs/api/macros/index.md index 83e464bf8..c2f91da18 100644 --- a/doc/mkdocs/docs/api/macros/index.md +++ b/doc/mkdocs/docs/api/macros/index.md @@ -4,19 +4,35 @@ This page is under construction. See the [macro overview page](../../features/macros.md) until then. -Some aspects of the library can be configured by defining preprocessor macros before including the `json.hpp` header. +Some aspects of the library can be configured by defining preprocessor macros **before** including the `json.hpp` +header. + +## Runtime assertions - [**JSON_ASSERT(x)**](json_assert.md) - control behavior of runtime assertions + +## Exceptions + - `JSON_CATCH_USER(exception)` - [**JSON_DIAGNOSTICS**](json_diagnostics.md) - control extended diagnostics -- `JSON_HAS_CPP_11`, `JSON_HAS_CPP_14`, `JSON_HAS_CPP_17`, `JSON_HAS_CPP_20` -- [**JSON_HAS_FILESYSTEM**/**JSON_HAS_EXPERIMENTAL_FILESYSTEM**](json_has_filesystem.md) - control `std::filesystem` support - `JSON_NOEXCEPTION` -- `JSON_NO_IO` -- [**JSON_SKIP_UNSUPPORTED_COMPILER_CHECK**](json_skip_unsupported_compiler_check.md) - do not warn about unsupported compilers - `JSON_THROW_USER(exception)` - `JSON_TRY_USER` + +## Language support + +- `JSON_HAS_CPP_11`, `JSON_HAS_CPP_14`, `JSON_HAS_CPP_17`, `JSON_HAS_CPP_20` +- [**JSON_HAS_FILESYSTEM**/**JSON_HAS_EXPERIMENTAL_FILESYSTEM**](json_has_filesystem.md) - control `std::filesystem` support +- `JSON_NO_IO` +- [**JSON_SKIP_UNSUPPORTED_COMPILER_CHECK**](json_skip_unsupported_compiler_check.md) - do not warn about unsupported compilers +- `JSON_SKIP_LIBRARY_VERSION_CHECK` + +## Type conversions + - `JSON_USE_IMPLICIT_CONVERSIONS` + +## Serialization/deserialization macros + - `NLOHMANN_DEFINE_TYPE_INTRUSIVE(type, member...)` - `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(type, member...)` - `NLOHMANN_JSON_SERIALIZE_ENUM(type, ...)`