#define NLOHMANN_JSON_NAMESPACE_BEGIN /* value */ // (1) #define NLOHMANN_JSON_NAMESPACE_END /* value */ // (2)
These macros can be used to open and close the nlohmann namespace. See nlohmann Namespace for details.
The default definitions open and close the nlohmann namespace. The precise definition of [NLOHMANN_JSON_NAMESPACE_BEGIN] varies as described here.
Default definition of NLOHMANN_JSON_NAMESPACE_BEGIN:
namespace nlohmann { inline namespace json_abi_v3_12_0 {
Default definition of NLOHMANN_JSON_NAMESPACE_END:
} // namespace json_abi_v3_12_0 } // namespace nlohmann
When these macros are not defined, the library will define them to their default definitions.
??? example
The example shows how to use `NLOHMANN_JSON_NAMESPACE_BEGIN`/`NLOHMANN_JSON_NAMESPACE_END` from the [How do I convert third-party types?](../../features/arbitrary_types.md#how-do-i-convert-third-party-types) page. ```cpp --8<-- "examples/nlohmann_json_namespace_begin.c++17.cpp" ``` Output: ```json --8<-- "examples/nlohmann_json_namespace_begin.c++17.output" ```