Files
json/docs/docset
Niels Lohmann c5f1694b01 Add JSON_DISABLE_TUPLE_REFERENCE_CONVERSION to fix std::tuple conversions
basic_json can be constructed from std::tuple<json&>, which it turns into
a one-element array. Because of this, std::tuple picks its converting
constructor that converts the whole source tuple instead of the
element-wise one. As a result, std::tuple<const json&> built from
std::forward_as_tuple(j) binds to a temporary (a compile error with libc++,
a dangling reference with other standard libraries), and std::tuple<json>
built the same way holds [j] instead of a copy of j.

The new opt-in macro JSON_DISABLE_TUPLE_REFERENCE_CONVERSION (CMake option
JSON_DisableTupleReferenceConversion) removes the conversion from a
one-element tuple holding a reference to the same basic_json type, so
std::tuple converts element-wise. It is off by default, so existing
behavior is unchanged. It does not change any function body and therefore
is not part of the ABI tag.

Fixes #2226

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-09-27 17:17:51 +02:00
..
2022-05-01 09:41:50 +02:00
2022-05-01 09:41:50 +02:00
2022-05-01 09:41:50 +02:00
2022-05-01 09:41:50 +02:00

docset

The folder contains the required files to create a docset which can be used in documentation browsers like Dash, Velocity, or Zeal.

The docset can be created with

make nlohmann_json.docset

The generated folder nlohmann_json.docset can then be opened in the documentation browser.

A recent version is also part of the Dash user contributions.

Licenses

The JSON logo is public domain.