json
json copied to clipboard
JSON for Modern C++
Second draft. Contains current `develop`. #3683 is still in discussion and should be part of 3.11.2, too.
The goal here is to propose an *idea* for a better error message, which says what is wrong instead of pointing to some internal implementation detail that does not compile....
This PR adds an additional template parameter which allows to set a custom base class for `nlohmann::json`. This class serves as an extension point and allows to add functionality to...
Split the versioned, ABI-tagged inline namespace into separate tag and version namespaces. Example: `nlohmann::nlohmann_json_diag::v3_11_1` The prefix of the tag namespace cannot be `json` as that would conflict with the type...
Before this PR `iterator_input_adapter` was indiscriminately consuming/advancing the input iterator before actually know if it should on `get_character()` Case example: 1. `iterator_input_adapter` over a custom input (ex _input adapter over...
Fix basic_json converting constructor yielding wrong value type and mark constructor JSON_EXPLICIT
This is an attempt to fix #3425. The desired value type is communicated to the serializer by wrapping the source value in one of `string_type_wrapper`, `object_type_wrapper`, or `array_type_wrapper`. It started...
Add a `CMakePresets.json` file and add `CMakeUserPresets.json` to `.gitignore`. Usage: * List presets: `cmake --list-presets` * Configure: `cmake --preset gcc` * Build: `cmake --build --preset gcc` * Test: `ctest --preset...
Currently it is not possible to set `number_integer_t` or `number_unsigned_t` to types with nontrivial destructors, move constructors, copy constructors, or assignment operators. This means it's not possible to use types...
The `std::is_signed`, `std::is_integral` type traits do not permit custom types, and extending these is specified as undefined behavior. Using `std::numeric_limits::is_signed` and `std::numeric_limits::is_integral` means that supporting custom types is doable. This...