1.6 KiB
1.6 KiB
Macros
!!! note
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.
Runtime assertions
- JSON_ASSERT(x) - control behavior of runtime assertions
Exceptions
JSON_CATCH_USER(exception)- JSON_DIAGNOSTICS - control extended diagnostics
JSON_NOEXCEPTIONJSON_THROW_USER(exception)JSON_TRY_USER
Language support
- JSON_HAS_CPP_11
JSON_HAS_CPP_14
JSON_HAS_CPP_17
JSON_HAS_CPP_20 - set supported C++ standard - JSON_HAS_FILESYSTEM
JSON_HAS_EXPERIMENTAL_FILESYSTEM - controlstd::filesystemsupport - JSON_NO_IO - switch off functions relying on certain C++ I/O headers
- JSON_SKIP_UNSUPPORTED_COMPILER_CHECK - do not warn about unsupported compilers
Library version
- JSON_SKIP_LIBRARY_VERSION_CHECK - skip library version check
- NLOHMANN_JSON_VERSION_MAJOR
NLOHMANN_JSON_VERSION_MINOR
NLOHMANN_JSON_VERSION_PATCH - library version information
Type conversions
- JSON_USE_IMPLICIT_CONVERSIONS - control implicit conversions
Serialization/deserialization macros
NLOHMANN_DEFINE_TYPE_INTRUSIVE(type, member...)NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(type, member...)NLOHMANN_JSON_SERIALIZE_ENUM(type, ...)