mirror of
https://github.com/nlohmann/json.git
synced 2024-12-04 14:39:01 +08:00
d909f80960
* Add versioned inline namespace Add a versioned inline namespace to prevent ABI issues when linking code using multiple library versions. * Add namespace macros * Encode ABI information in inline namespace Add _diag suffix to inline namespace if JSON_DIAGNOSTICS is enabled, and _ldvcmp suffix if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON is enabled. * Move ABI-affecting macros into abi_macros.hpp * Move std_fs namespace definition into std_fs.hpp * Remove std_fs namespace from unit test * Format more files in tests directory * Add unit tests * Update documentation * Fix GDB pretty printer * fixup! Add namespace macros * Derive ABI prefix from NLOHMANN_JSON_VERSION_*
23 lines
415 B
C++
23 lines
415 B
C++
#undef JSON_DIAGNOSTICS
|
|
#define JSON_DIAGNOSTICS 1
|
|
#include <nlohmann/json.hpp>
|
|
|
|
#include "diag.hpp"
|
|
|
|
std::size_t json_sizeof_diag_on()
|
|
{
|
|
return sizeof(nlohmann::json);
|
|
}
|
|
|
|
std::size_t json_sizeof_diag_on_explicit()
|
|
{
|
|
return sizeof(::NLOHMANN_JSON_NAMESPACE::json);
|
|
}
|
|
|
|
void json_at_diag_on()
|
|
{
|
|
using nlohmann::json;
|
|
json j = json{{"foo", json::object()}};
|
|
j.at(json::json_pointer("/foo/bar"));
|
|
}
|