mirror of
https://github.com/nlohmann/json.git
synced 2026-09-30 06:14:59 +01:00
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>
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.