mirror of
https://github.com/nlohmann/json.git
synced 2026-10-10 00:17:13 +00:00
Merge branch 'develop' into fix/custom-key-type-compat
develop (#5798) added tests/src/unit-custom-object-key-type.cpp with the custom object key tests moved out of unit-cbor.cpp and unit-msgpack.cpp. This branch added a file of the same name; keep develop's file and move this branch's tests: - the key types, helpers, and test bodies go to custom_key_test.hpp; - unit-custom-key-type-{full,no-eq,explicit,to-json,c-str}.cpp run the tests for one object type each, as one file with all five specializations failed to link with MinGW ("relocation truncated to fit", more than 65535 sections, see .github/workflows/windows.yml); - the at() test expects the "(bytes 0-7)" prefix with JSON_DIAGNOSTIC_POSITIONS. Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
22 files changed
+1523
-824
No files matched your search
@@ -64,18 +64,7 @@ values of that type directly to a `basic_json` instance, and they will automatic
|
||||
rather than arrays:
|
||||
|
||||
```cpp
|
||||
using custom_json = nlohmann::basic_json<
|
||||
nlohmann::ordered_map, // ObjectType
|
||||
std::vector, // ArrayType
|
||||
std::string, // StringType
|
||||
bool, // BooleanType
|
||||
std::int64_t, // NumberIntegerType
|
||||
std::uint64_t, // NumberUnsignedType
|
||||
double, // NumberFloatType
|
||||
std::allocator, // AllocatorType
|
||||
nlohmann::adl_serializer,
|
||||
std::vector<std::byte> // Custom BinaryType
|
||||
>;
|
||||
using custom_json = nlohmann::ordered_json::with_binary_t<std::vector<std::byte>>;
|
||||
|
||||
std::vector<std::byte> data{std::byte{1}, std::byte{2}, std::byte{3}};
|
||||
custom_json j = data; // Creates a binary value, not an array
|
||||
|
||||
@@ -15,19 +15,7 @@ class base_class_with_hidden_members
|
||||
}
|
||||
};
|
||||
|
||||
using json = nlohmann::basic_json <
|
||||
std::map,
|
||||
std::vector,
|
||||
std::string,
|
||||
bool,
|
||||
std::int64_t,
|
||||
std::uint64_t,
|
||||
double,
|
||||
std::allocator,
|
||||
nlohmann::adl_serializer,
|
||||
std::vector<std::uint8_t>,
|
||||
base_class_with_hidden_members
|
||||
>;
|
||||
using json = nlohmann::json::with_base_class_t<base_class_with_hidden_members>;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user