From a8f0cd15df8337430443ecb53647ca322502a58a Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 24 May 2020 13:03:04 +0200 Subject: [PATCH 01/73] :memo: add mkdocs --- .gitignore | 4 + doc/Doxyfile | 4 +- doc/binary_formats.md | 171 ----- doc/examples/swap__binary_t.link | 1 + doc/faq.md | 87 --- doc/images/binary.png | Bin 65897 -> 0 bytes doc/mkdocs/Makefile | 24 + doc/mkdocs/docs/features/arbitrary_types.md | 223 ++++++ .../docs/features/binary_formats/bson.md | 94 +++ .../docs/features/binary_formats/cbor.md | 172 +++++ .../docs/features/binary_formats/index.md | 41 + .../features/binary_formats/messagepack.md | 142 ++++ .../docs/features/binary_formats/ubjson.md | 133 ++++ doc/mkdocs/docs/features/binary_values.md | 281 +++++++ doc/mkdocs/docs/features/enum_conversion.md | 53 ++ doc/mkdocs/docs/features/json_patch.md | 28 + doc/mkdocs/docs/features/json_pointer.md | 15 + doc/mkdocs/docs/features/merge_patch.md | 31 + doc/mkdocs/docs/features/sax_interface.md | 42 ++ doc/mkdocs/docs/home/code_of_conduct.md | 46 ++ doc/mkdocs/docs/home/design_goals.md | 17 + doc/mkdocs/docs/home/exceptions.md | 713 ++++++++++++++++++ doc/mkdocs/docs/home/faq.md | 128 ++++ doc/mkdocs/docs/home/license.md | 21 + doc/mkdocs/docs/home/sponsors.md | 11 + doc/mkdocs/docs/hooks.py | 7 + doc/mkdocs/docs/index.md | 7 + doc/mkdocs/docs/integration/cmake.md | 103 +++ .../docs/integration/conan/CMakeLists.txt | 9 + .../docs/integration/conan/Conanfile.txt | 5 + doc/mkdocs/docs/integration/conan/example.cpp | 9 + doc/mkdocs/docs/integration/example.cpp | 9 + doc/mkdocs/docs/integration/index.md | 14 + .../docs/integration/package_managers.md | 143 ++++ doc/mkdocs/mkdocs.yml | 106 +++ doc/mkdocs/requirements.txt | 23 + 36 files changed, 2656 insertions(+), 261 deletions(-) delete mode 100644 doc/binary_formats.md create mode 100644 doc/examples/swap__binary_t.link delete mode 100644 doc/faq.md delete mode 100644 doc/images/binary.png create mode 100644 doc/mkdocs/Makefile create mode 100644 doc/mkdocs/docs/features/arbitrary_types.md create mode 100644 doc/mkdocs/docs/features/binary_formats/bson.md create mode 100644 doc/mkdocs/docs/features/binary_formats/cbor.md create mode 100644 doc/mkdocs/docs/features/binary_formats/index.md create mode 100644 doc/mkdocs/docs/features/binary_formats/messagepack.md create mode 100644 doc/mkdocs/docs/features/binary_formats/ubjson.md create mode 100644 doc/mkdocs/docs/features/binary_values.md create mode 100644 doc/mkdocs/docs/features/enum_conversion.md create mode 100644 doc/mkdocs/docs/features/json_patch.md create mode 100644 doc/mkdocs/docs/features/json_pointer.md create mode 100644 doc/mkdocs/docs/features/merge_patch.md create mode 100644 doc/mkdocs/docs/features/sax_interface.md create mode 100644 doc/mkdocs/docs/home/code_of_conduct.md create mode 100644 doc/mkdocs/docs/home/design_goals.md create mode 100644 doc/mkdocs/docs/home/exceptions.md create mode 100644 doc/mkdocs/docs/home/faq.md create mode 100644 doc/mkdocs/docs/home/license.md create mode 100644 doc/mkdocs/docs/home/sponsors.md create mode 100644 doc/mkdocs/docs/hooks.py create mode 100644 doc/mkdocs/docs/index.md create mode 100644 doc/mkdocs/docs/integration/cmake.md create mode 100644 doc/mkdocs/docs/integration/conan/CMakeLists.txt create mode 100644 doc/mkdocs/docs/integration/conan/Conanfile.txt create mode 100644 doc/mkdocs/docs/integration/conan/example.cpp create mode 100644 doc/mkdocs/docs/integration/example.cpp create mode 100644 doc/mkdocs/docs/integration/index.md create mode 100644 doc/mkdocs/docs/integration/package_managers.md create mode 100644 doc/mkdocs/mkdocs.yml create mode 100644 doc/mkdocs/requirements.txt diff --git a/.gitignore b/.gitignore index 3bca6b87..d91f1de6 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,7 @@ cmake-build-debug test/test-* /.vs + +doc/mkdocs/venv/ +doc/mkdocs/docs/images +doc/mkdocs/docs/examples diff --git a/doc/Doxyfile b/doc/Doxyfile index 2c44d006..eacefb45 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -110,9 +110,7 @@ WARN_LOGFILE = # Configuration options related to the input files #--------------------------------------------------------------------------- INPUT = ../single_include/nlohmann/json.hpp \ - index.md \ - faq.md \ - binary_formats.md + index.md INPUT_ENCODING = UTF-8 FILE_PATTERNS = RECURSIVE = NO diff --git a/doc/binary_formats.md b/doc/binary_formats.md deleted file mode 100644 index b9f233ca..00000000 --- a/doc/binary_formats.md +++ /dev/null @@ -1,171 +0,0 @@ -# Binary formats - -![conversion between JSON and binary formats](images/binary.png) - -Several formats exist that encode JSON values in a binary format to reduce the size of the encoded value as well as the required effort to parse encoded value. The library implements three formats, namely - -- [CBOR](https://tools.ietf.org/html/rfc7049) (Concise Binary Object Representation) -- [MessagePack](https://msgpack.org) -- [UBJSON](http://ubjson.org) (Universal Binary JSON) - -## Interface - -### JSON to binary format - -For each format, the `to_*` functions (i.e., `to_cbor`, `to_msgpack`, and `to_ubjson`) convert a JSON value into the respective binary format. Taking CBOR as example, the concrete prototypes are: - -```cpp -static std::vector to_cbor(const basic_json& j); // 1 -static void to_cbor(const basic_json& j, detail::output_adapter o); // 2 -static void to_cbor(const basic_json& j, detail::output_adapter o); // 3 -``` - -The first function creates a byte vector from the given JSON value. The second and third function writes to an output adapter of `uint8_t` and `char`, respectively. Output adapters are implemented for strings, output streams, and vectors. - -Given a JSON value `j`, the following calls are possible: - -```cpp -std::vector v; -v = json::to_cbor(j); // 1 - -json::to_cbor(j, v); // 2 - -std::string s; -json::to_cbor(j, s); // 3 - -std::ostringstream oss; -json::to_cbor(j, oss); // 3 -``` - -### Binary format to JSON - -Likewise, the `from_*` functions (i.e, `from_cbor`, `from_msgpack`, and `from_ubjson`) convert a binary encoded value into a JSON value. Taking CBOR as example, the concrete prototypes are: - -```cpp -static basic_json from_cbor(detail::input_adapter i, const bool strict = true); // 1 -static basic_json from_cbor(A1 && a1, A2 && a2, const bool strict = true); // 2 -``` - -Both functions read from an input adapter: the first function takes it directly form argument `i`, whereas the second function creates it from the provided arguments `a1` and `a2`. If the optional parameter `strict` is true, the input must be read completely (or a parse error exception is thrown). If it is false, parsing succeeds even if the input is not completely read. - -Input adapters are implemented for input streams, character buffers, string literals, and iterator ranges. - -Given several inputs (which we assume to be filled with a CBOR value), the following calls are possible: - -```cpp -std::string s; -json j1 = json::from_cbor(s); // 1 - -std::ifstream is("somefile.cbor", std::ios::binary); -json j2 = json::from_cbor(is); // 1 - -std::vector v; -json j3 = json::from_cbor(v); // 1 - -const char* buff; -std::size_t buff_size; -json j4 = json::from_cbor(buff, buff_size); // 2 -``` - -## Details - -### CBOR - -The mapping from CBOR to JSON is **incomplete** in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112): - -- byte strings (0x40..0x5F) -- date/time (0xC0..0xC1) -- bignum (0xC2..0xC3) -- decimal fraction (0xC4) -- bigfloat (0xC5) -- tagged items (0xC6..0xD4, 0xD8..0xDB) -- expected conversions (0xD5..0xD7) -- simple values (0xE0..0xF3, 0xF8) -- undefined (0xF7) - -CBOR further allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113). - -The mapping from JSON to CBOR is **complete** in the sense that any JSON value type can be converted to a CBOR value. - -If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null. - -The following CBOR types are not used in the conversion: - -- byte strings (0x40..0x5F) -- UTF-8 strings terminated by "break" (0x7F) -- arrays terminated by "break" (0x9F) -- maps terminated by "break" (0xBF) -- date/time (0xC0..0xC1) -- bignum (0xC2..0xC3) -- decimal fraction (0xC4) -- bigfloat (0xC5) -- tagged items (0xC6..0xD4, 0xD8..0xDB) -- expected conversions (0xD5..0xD7) -- simple values (0xE0..0xF3, 0xF8) -- undefined (0xF7) -- half and single-precision floats (0xF9-0xFA) -- break (0xFF) - -### MessagePack - -The mapping from MessagePack to JSON is **incomplete** in the sense that not all MessagePack types can be converted to a JSON value. The following MessagePack types are not supported and will yield parse errors: - -- bin 8 - bin 32 (0xC4..0xC6) -- ext 8 - ext 32 (0xC7..0xC9) -- fixext 1 - fixext 16 (0xD4..0xD8) - -The mapping from JSON to MessagePack is **complete** in the sense that any JSON value type can be converted to a MessagePack value. - -The following values can not be converted to a MessagePack value: - -- strings with more than 4294967295 bytes -- arrays with more than 4294967295 elements -- objects with more than 4294967295 elements - -The following MessagePack types are not used in the conversion: - -- bin 8 - bin 32 (0xC4..0xC6) -- ext 8 - ext 32 (0xC7..0xC9) -- float 32 (0xCA) -- fixext 1 - fixext 16 (0xD4..0xD8) - -Any MessagePack output created `to_msgpack` can be successfully parsed by `from_msgpack`. - -If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the `dump()` function which serializes NaN or Infinity to `null`. - -### UBJSON - -The mapping from UBJSON to JSON is **complete** in the sense that any UBJSON value can be converted to a JSON value. - -The mapping from JSON to UBJSON is **complete** in the sense that any JSON value type can be converted to a UBJSON value. - -The following values can not be converted to a UBJSON value: - -- strings with more than 9223372036854775807 bytes (theoretical) -- unsigned integer numbers above 9223372036854775807 - -The following markers are not used in the conversion: - -- `Z`: no-op values are not created. -- `C`: single-byte strings are serialized with S markers. - -Any UBJSON output created to_ubjson can be successfully parsed by from_ubjson. - -If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the `dump()` function which serializes NaN or Infinity to null. - -The optimized formats for containers are supported: Parameter `use_size` adds size information to the beginning of a container and removes the closing marker. Parameter `use_type` further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The `use_type` parameter must only be used together with `use_size = true`. Note that `use_size = true` alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container. - -## Size comparison examples - -The following table shows the size compared to the original JSON value for different files from the repository for the different formats. - -| format | sample.json | all_unicode.json | floats.json | signed_ints.json | jeopardy.json | canada.json | -| ----------------------- | -----------:| ----------------:| -----------:| ----------------:| -------------:| -----------:| -| JSON | 100.00 % | 100.00 % | 100.00 % | 100.00 % | 100.00 % | 100.00 % | -| CBOR | 87.21 % | 71.18 % | 48.20 % | 44.16 % | 87.96 % | 50.53 % | -| MessagePack | 87.16 % | 71.18 % | 48.20 % | 44.16 % | 87.91 % | 50.56 % | -| UBJSON unoptimized | 88.15 % | 100.00 % | 48.20 % | 44.16 % | 96.58 % | 53.20 % | -| UBJSON size-optimized | 89.26 % | 100.00 % | 48.20 % | 44.16 % | 97.40 % | 58.56 % | -| UBJSON format-optimized | 89.45 % | 100.00 % | 42.85 % | 39.26 % | 94.96 % | 55.93 % | - -The results show that there does not exist a "best" encoding. Furthermore, it is not always worthwhile to use UBJSON's optimizations. diff --git a/doc/examples/swap__binary_t.link b/doc/examples/swap__binary_t.link new file mode 100644 index 00000000..279a9569 --- /dev/null +++ b/doc/examples/swap__binary_t.link @@ -0,0 +1 @@ +online \ No newline at end of file diff --git a/doc/faq.md b/doc/faq.md deleted file mode 100644 index 14125ee3..00000000 --- a/doc/faq.md +++ /dev/null @@ -1,87 +0,0 @@ -# FAQ - -## Parsing - -### How can I parse from a string? - -```cpp -json j = json::parse("[1,2,3,4]"); -``` - -You can pass string literals (as above), `std::string`, `const char*` or byte containers such as `std::vector`. - -### How can I parse from a file? - -```cpp -std::ifstream i("your_file.json"); -json j = json::parse(i); -``` - -## Serialization - -### How can I serialize a JSON value - -```cpp -std::cout << j << std::endl; -``` - -This is equivalent to - -```cpp -std::string s = j.dump(); -std::cout << s << std::endl; -``` - -### How can I pretty-print a JSON value - -```cpp -std::cout << std::setw(4) << j << std::endl; -``` - -This is equivalent to - -```cpp -std::string s = j.dump(4); -std::cout << s << std::endl; -``` - -The number `4` denotes the number of spaces used for indentation. - -## Iterating - -### How can I iterate over a JSON value? - -```cpp -for (json& val : j) -{ - // val is a reference for the current value -} -``` - -This works with any JSON value, also primitive values like numbers. - -### How can I access the keys when iterating over a JSON object? - -```cpp -for (auto it = j.begin(); it != j.end(); ++it) -{ - // the value - json &val = it.value(); - - // the key (for objects) - const std::string &key = it.key(); -} -``` - -You can also use an iteration wrapper and use range for: - -```cpp -for (auto it : json::iteration_wrapper(j)) -{ - // the value - json &val = it.value(); - - // the key (for objects) - const std::string &key = it.key(); -} -``` diff --git a/doc/images/binary.png b/doc/images/binary.png deleted file mode 100644 index 2579fd8f485383195cb8e6a26c02c7a14cd63dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65897 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 diff --git a/doc/mkdocs/Makefile b/doc/mkdocs/Makefile new file mode 100644 index 00000000..a80b8e66 --- /dev/null +++ b/doc/mkdocs/Makefile @@ -0,0 +1,24 @@ +serve: prepare_files + venv/bin/mkdocs serve + +prepare_files: + # build Doxygen + $(MAKE) -C .. + # clean subfolders + rm -fr docs/images docs/examples + # create subfolders + mkdir docs/images docs/examples + # copy images + cp -vr ../json.gif docs/images + # copy examples + cp -vr ../examples/*.cpp ../examples/*.output docs/examples + +publish: prepare_files + venv/bin/mkdocs gh-deploy --clean --force + +install_venv: + python3 -mvenv venv + venv/bin/pip install -r requirements.txt + +uninstall_venv: + rm -fr venv diff --git a/doc/mkdocs/docs/features/arbitrary_types.md b/doc/mkdocs/docs/features/arbitrary_types.md new file mode 100644 index 00000000..3d238317 --- /dev/null +++ b/doc/mkdocs/docs/features/arbitrary_types.md @@ -0,0 +1,223 @@ +# Arbitrary Types Conversions + +Every type can be serialized in JSON, not just STL containers and scalar types. Usually, you would do something along those lines: + +```cpp +namespace ns { + // a simple struct to model a person + struct person { + std::string name; + std::string address; + int age; + }; +} + +ns::person p = {"Ned Flanders", "744 Evergreen Terrace", 60}; + +// convert to JSON: copy each value into the JSON object +json j; +j["name"] = p.name; +j["address"] = p.address; +j["age"] = p.age; + +// ... + +// convert from JSON: copy each value from the JSON object +ns::person p { + j["name"].get(), + j["address"].get(), + j["age"].get() +}; +``` + +It works, but that's quite a lot of boilerplate... Fortunately, there's a better way: + +```cpp +// create a person +ns::person p {"Ned Flanders", "744 Evergreen Terrace", 60}; + +// conversion: person -> json +json j = p; + +std::cout << j << std::endl; +// {"address":"744 Evergreen Terrace","age":60,"name":"Ned Flanders"} + +// conversion: json -> person +auto p2 = j.get(); + +// that's it +assert(p == p2); +``` + +## Basic usage + +To make this work with one of your types, you only need to provide two functions: + +```cpp +using nlohmann::json; + +namespace ns { + void to_json(json& j, const person& p) { + j = json{ {"name", p.name}, {"address", p.address}, {"age", p.age} }; + } + + void from_json(const json& j, person& p) { + j.at("name").get_to(p.name); + j.at("address").get_to(p.address); + j.at("age").get_to(p.age); + } +} // namespace ns +``` + +That's all! When calling the `json` constructor with your type, your custom `to_json` method will be automatically called. +Likewise, when calling `get()` or `get_to(your_type&)`, the `from_json` method will be called. + +Some important things: + +* Those methods **MUST** be in your type's namespace (which can be the global namespace), or the library will not be able to locate them (in this example, they are in namespace `ns`, where `person` is defined). +* Those methods **MUST** be available (e.g., proper headers must be included) everywhere you use these conversions. Look at [issue 1108](https://github.com/nlohmann/json/issues/1108) for errors that may occur otherwise. +* When using `get()`, `your_type` **MUST** be [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible). (There is a way to bypass this requirement described later.) +* In function `from_json`, use function [`at()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a93403e803947b86f4da2d1fb3345cf2c.html#a93403e803947b86f4da2d1fb3345cf2c) to access the object values rather than `operator[]`. In case a key does not exist, `at` throws an exception that you can handle, whereas `operator[]` exhibits undefined behavior. +* You do not need to add serializers or deserializers for STL types like `std::vector`: the library already implements these. + + +## How do I convert third-party types? + +This requires a bit more advanced technique. But first, let's see how this conversion mechanism works: + +The library uses **JSON Serializers** to convert types to json. +The default serializer for `nlohmann::json` is `nlohmann::adl_serializer` (ADL means [Argument-Dependent Lookup](https://en.cppreference.com/w/cpp/language/adl)). + +It is implemented like this (simplified): + +```cpp +template +struct adl_serializer { + static void to_json(json& j, const T& value) { + // calls the "to_json" method in T's namespace + } + + static void from_json(const json& j, T& value) { + // same thing, but with the "from_json" method + } +}; +``` + +This serializer works fine when you have control over the type's namespace. However, what about `boost::optional` or `std::filesystem::path` (C++17)? Hijacking the `boost` namespace is pretty bad, and it's illegal to add something other than template specializations to `std`... + +To solve this, you need to add a specialization of `adl_serializer` to the `nlohmann` namespace, here's an example: + +```cpp +// partial specialization (full specialization works too) +namespace nlohmann { + template + struct adl_serializer> { + static void to_json(json& j, const boost::optional& opt) { + if (opt == boost::none) { + j = nullptr; + } else { + j = *opt; // this will call adl_serializer::to_json which will + // find the free function to_json in T's namespace! + } + } + + static void from_json(const json& j, boost::optional& opt) { + if (j.is_null()) { + opt = boost::none; + } else { + opt = j.get(); // same as above, but with + // adl_serializer::from_json + } + } + }; +} +``` + +## How can I use `get()` for non-default constructible/non-copyable types? + +There is a way, if your type is [MoveConstructible](https://en.cppreference.com/w/cpp/named_req/MoveConstructible). You will need to specialize the `adl_serializer` as well, but with a special `from_json` overload: + +```cpp +struct move_only_type { + move_only_type() = delete; + move_only_type(int ii): i(ii) {} + move_only_type(const move_only_type&) = delete; + move_only_type(move_only_type&&) = default; + + int i; +}; + +namespace nlohmann { + template <> + struct adl_serializer { + // note: the return type is no longer 'void', and the method only takes + // one argument + static move_only_type from_json(const json& j) { + return {j.get()}; + } + + // Here's the catch! You must provide a to_json method! Otherwise you + // will not be able to convert move_only_type to json, since you fully + // specialized adl_serializer on that type + static void to_json(json& j, move_only_type t) { + j = t.i; + } + }; +} +``` + +## Can I write my own serializer? (Advanced use) + +Yes. You might want to take a look at [`unit-udt.cpp`](https://github.com/nlohmann/json/blob/develop/test/src/unit-udt.cpp) in the test suite, to see a few examples. + +If you write your own serializer, you'll need to do a few things: + +- use a different `basic_json` alias than `nlohmann::json` (the last template parameter of `basic_json` is the `JSONSerializer`) +- use your `basic_json` alias (or a template parameter) in all your `to_json`/`from_json` methods +- use `nlohmann::to_json` and `nlohmann::from_json` when you need ADL + +Here is an example, without simplifications, that only accepts types with a size <= 32, and uses ADL. + +```cpp +// You should use void as a second template argument +// if you don't need compile-time checks on T +template::type> +struct less_than_32_serializer { + template + static void to_json(BasicJsonType& j, T value) { + // we want to use ADL, and call the correct to_json overload + using nlohmann::to_json; // this method is called by adl_serializer, + // this is where the magic happens + to_json(j, value); + } + + template + static void from_json(const BasicJsonType& j, T& value) { + // same thing here + using nlohmann::from_json; + from_json(j, value); + } +}; +``` + +Be **very** careful when reimplementing your serializer, you can stack overflow if you don't pay attention: + +```cpp +template +struct bad_serializer +{ + template + static void to_json(BasicJsonType& j, const T& value) { + // this calls BasicJsonType::json_serializer::to_json(j, value); + // if BasicJsonType::json_serializer == bad_serializer ... oops! + j = value; + } + + template + static void to_json(const BasicJsonType& j, T& value) { + // this calls BasicJsonType::json_serializer::from_json(j, value); + // if BasicJsonType::json_serializer == bad_serializer ... oops! + value = j.template get(); // oops! + } +}; +``` diff --git a/doc/mkdocs/docs/features/binary_formats/bson.md b/doc/mkdocs/docs/features/binary_formats/bson.md new file mode 100644 index 00000000..487ff722 --- /dev/null +++ b/doc/mkdocs/docs/features/binary_formats/bson.md @@ -0,0 +1,94 @@ +# BSON + +BSON, short for Bin­ary JSON, is a bin­ary-en­coded seri­al­iz­a­tion of JSON-like doc­u­ments. Like JSON, BSON sup­ports the em­bed­ding of doc­u­ments and ar­rays with­in oth­er doc­u­ments and ar­rays. BSON also con­tains ex­ten­sions that al­low rep­res­ent­a­tion of data types that are not part of the JSON spec. For ex­ample, BSON has a Date type and a BinData type. + +!!! abstract "References" + + - [BSON Website](http://bsonspec.org) - the main source on BSON + - [BSON Specification](http://bsonspec.org/spec.html) - the specification + + +## Serialization + +The library uses the following mapping from JSON values types to BSON types: + +JSON value type | value/range | BSON type | marker +--------------- | --------------------------------- | ----------- | ------ +null | `null` | null | 0x0A +boolean | `true`, `false` | boolean | 0x08 +number_integer | -9223372036854775808..-2147483649 | int64 | 0x12 +number_integer | -2147483648..2147483647 | int32 | 0x10 +number_integer | 2147483648..9223372036854775807 | int64 | 0x12 +number_unsigned | 0..2147483647 | int32 | 0x10 +number_unsigned | 2147483648..9223372036854775807 | int64 | 0x12 +number_unsigned | 9223372036854775808..18446744073709551615| -- | -- +number_float | *any value* | double | 0x01 +string | *any value* | string | 0x02 +array | *any value* | document | 0x04 +object | *any value* | document | 0x03 +binary | *any value* | binary | 0x05 + +!!! warning "Incomplete mapping" + + The mapping is **incomplete**, since only JSON-objects (and things + contained therein) can be serialized to BSON. + Also, integers larger than 9223372036854775807 cannot be serialized to BSON, + and the keys may not contain U+0000, since they are serialized a + zero-terminated c-strings. + +!!! example + + ```cpp + --8<-- "examples/to_bson.cpp" + ``` + + Output: + + ```c + --8<-- "examples/to_bson.output" + ``` + + +## Deserialization + +The library maps BSON record types to JSON value types as follows: + +BSON type | BSON marker byte | JSON value type +--------------- | ---------------- | --------------------------- +double | 0x01 | number_float +string | 0x02 | string +document | 0x03 | object +array | 0x04 | array +binary | 0x05 | binary +undefined | 0x06 | *unsupported* +ObjectId | 0x07 | *unsupported* +boolean | 0x08 | boolean +UTC Date-Time | 0x09 | *unsupported* +null | 0x0A | null +Regular Expr. | 0x0B | *unsupported* +DB Pointer | 0x0C | *unsupported* +JavaScript Code | 0x0D | *unsupported* +Symbol | 0x0E | *unsupported* +JavaScript Code | 0x0F | *unsupported* +int32 | 0x10 | number_integer +Timestamp | 0x11 | *unsupported* +128-bit decimal float | 0x13 | *unsupported* +Max Key | 0x7F | *unsupported* +Min Key | 0xFF | *unsupported* + +!!! warning "Incomplete mapping" + + The mapping is **incomplete**. The unsupported mappings are indicated in the table above. + + +!!! example + + ```cpp + --8<-- "examples/from_bson.cpp" + ``` + + Output: + + ```json + --8<-- "examples/from_bson.output" + ``` diff --git a/doc/mkdocs/docs/features/binary_formats/cbor.md b/doc/mkdocs/docs/features/binary_formats/cbor.md new file mode 100644 index 00000000..6f2b8273 --- /dev/null +++ b/doc/mkdocs/docs/features/binary_formats/cbor.md @@ -0,0 +1,172 @@ +# CBOR + +The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. + +!!! abstract "References" + + - [CBOR Website](http://cbor.io) - the main source on CBOR + - [CBOR Playground](http://cbor.me) - an interactive webpage to translate between JSON and CBOR + - [RFC 7049](https://tools.ietf.org/html/rfc7049) - the CBOR specification + +## Serialization + +The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049): + +JSON value type | value/range | CBOR type | first byte +--------------- | ------------------------------------------ | ---------------------------------- | --------------- +null | `null` | Null | 0xF6 +boolean | `true` | True | 0xF5 +boolean | `false` | False | 0xF4 +number_integer | -9223372036854775808..-2147483649 | Negative integer (8 bytes follow) | 0x3B +number_integer | -2147483648..-32769 | Negative integer (4 bytes follow) | 0x3A +number_integer | -32768..-129 | Negative integer (2 bytes follow) | 0x39 +number_integer | -128..-25 | Negative integer (1 byte follow) | 0x38 +number_integer | -24..-1 | Negative integer | 0x20..0x37 +number_integer | 0..23 | Integer | 0x00..0x17 +number_integer | 24..255 | Unsigned integer (1 byte follow) | 0x18 +number_integer | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 +number_integer | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A +number_integer | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B +number_unsigned | 0..23 | Integer | 0x00..0x17 +number_unsigned | 24..255 | Unsigned integer (1 byte follow) | 0x18 +number_unsigned | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 +number_unsigned | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A +number_unsigned | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B +number_float | *any value representable by a float* | Single-Precision Float | 0xFA +number_float | *any value NOT representable by a float* | Double-Precision Float | 0xFB +string | *length*: 0..23 | UTF-8 string | 0x60..0x77 +string | *length*: 23..255 | UTF-8 string (1 byte follow) | 0x78 +string | *length*: 256..65535 | UTF-8 string (2 bytes follow) | 0x79 +string | *length*: 65536..4294967295 | UTF-8 string (4 bytes follow) | 0x7A +string | *length*: 4294967296..18446744073709551615 | UTF-8 string (8 bytes follow) | 0x7B +array | *size*: 0..23 | array | 0x80..0x97 +array | *size*: 23..255 | array (1 byte follow) | 0x98 +array | *size*: 256..65535 | array (2 bytes follow) | 0x99 +array | *size*: 65536..4294967295 | array (4 bytes follow) | 0x9A +array | *size*: 4294967296..18446744073709551615 | array (8 bytes follow) | 0x9B +object | *size*: 0..23 | map | 0xA0..0xB7 +object | *size*: 23..255 | map (1 byte follow) | 0xB8 +object | *size*: 256..65535 | map (2 bytes follow) | 0xB9 +object | *size*: 65536..4294967295 | map (4 bytes follow) | 0xBA +object | *size*: 4294967296..18446744073709551615 | map (8 bytes follow) | 0xBB +binary | *size*: 0..23 | byte string | 0x40..0x57 +binary | *size*: 23..255 | byte string (1 byte follow) | 0x58 +binary | *size*: 256..65535 | byte string (2 bytes follow) | 0x59 +binary | *size*: 65536..4294967295 | byte string (4 bytes follow) | 0x5A +binary | *size*: 4294967296..18446744073709551615 | byte string (8 bytes follow) | 0x5B + + +!!! success "Complete mapping" + + The mapping is **complete** in the sense that any JSON value type can be converted to a CBOR value. + +!!! info "NaN/infinity handling" + + If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the normal JSON serialization which serializes NaN or Infinity to `null`. + + +!!! info "Unused CBOR types" + + The following CBOR types are not used in the conversion: + + - UTF-8 strings terminated by "break" (0x7F) + - arrays terminated by "break" (0x9F) + - maps terminated by "break" (0xBF) + - byte strings terminated by "break" (0x5F) + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - tagged items (0xC6..0xD4, 0xD8..0xDB) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + - half-precision floats (0xF9) + - break (0xFF) + +!!! example + + ```cpp + --8<-- "examples/to_cbor.cpp" + ``` + + Output: + + ```c + --8<-- "examples/to_cbor.output" + ``` + +## Deserialization + +The library maps CBOR types to JSON value types as follows: + +CBOR type | JSON value type | first byte +---------------------- | --------------- | ---------- +Integer | number_unsigned | 0x00..0x17 +Unsigned integer | number_unsigned | 0x18 +Unsigned integer | number_unsigned | 0x19 +Unsigned integer | number_unsigned | 0x1A +Unsigned integer | number_unsigned | 0x1B +Negative integer | number_integer | 0x20..0x37 +Negative integer | number_integer | 0x38 +Negative integer | number_integer | 0x39 +Negative integer | number_integer | 0x3A +Negative integer | number_integer | 0x3B +Byte string | binary | 0x40..0x57 +Byte string | binary | 0x58 +Byte string | binary | 0x59 +Byte string | binary | 0x5A +Byte string | binary | 0x5B +UTF-8 string | string | 0x60..0x77 +UTF-8 string | string | 0x78 +UTF-8 string | string | 0x79 +UTF-8 string | string | 0x7A +UTF-8 string | string | 0x7B +UTF-8 string | string | 0x7F +array | array | 0x80..0x97 +array | array | 0x98 +array | array | 0x99 +array | array | 0x9A +array | array | 0x9B +array | array | 0x9F +map | object | 0xA0..0xB7 +map | object | 0xB8 +map | object | 0xB9 +map | object | 0xBA +map | object | 0xBB +map | object | 0xBF +False | `false` | 0xF4 +True | `true` | 0xF5 +Null | `null` | 0xF6 +Half-Precision Float | number_float | 0xF9 +Single-Precision Float | number_float | 0xFA +Double-Precision Float | number_float | 0xFB + +!!! warning "Incomplete mapping" + + The mapping is **incomplete** in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors: + + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - tagged items (0xC6..0xD4, 0xD8..0xDB) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + +!!! warning "Object keys" + + CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected. + +!!! example + + ```cpp + --8<-- "examples/from_cbor.cpp" + ``` + + Output: + + ```json + --8<-- "examples/from_cbor.output" + ``` diff --git a/doc/mkdocs/docs/features/binary_formats/index.md b/doc/mkdocs/docs/features/binary_formats/index.md new file mode 100644 index 00000000..3583f43c --- /dev/null +++ b/doc/mkdocs/docs/features/binary_formats/index.md @@ -0,0 +1,41 @@ +# Overview + +Though JSON is a ubiquitous data format, it is not a very compact format suitable for data exchange, for instance over a network. Hence, the library supports + +- [BSON](bson) (Binary JSON), +- [CBOR](cbor) (Concise Binary Object Representation), +- [MessagePack](messagepack), and +- [UBJSON](ubjson) (Universal Binary JSON Specification) + +to efficiently encode JSON values to byte vectors and to decode such vectors. + +## Comparison + +### Completeness + +| Format | Serialization | Deserialization | +| ----------- |---------------------------------------------- | -------------------------------------------- | +| BSON | incomplete: top-level value must be an object | incomplete, but all JSON types are supported | +| CBOR | complete | incomplete, but all JSON types are supported | +| MessagePack | complete | complete | +| UBJSON | complete | complete | + +### Binary values + +| Format | Binary values | Binary subtypes | +| ----------- | ------------- | --------------- | +| BSON | supported | supported | +| CBOR | supported | not supported | +| MessagePack | supported | supported | +| UBJSON | not supported | not supported | + +### Sizes + +| Format | canada.json | twitter.json | citm_catalog.json | jeopardy.json | +| ------------------ | ----------- | ------------ | ----------------- | ------------- | +| BSON | 85,8 % | 95,2 % | 95,8 % | 106,7 % | +| CBOR | 50,5 % | 86,3 % | 68,4 % | 88,0 % | +| MessagePack | 50,6 % | 86,0 % | 68,5 % | 87,9 % | +| UBJSON | 53,2 % | 91,3 % | 78,2 % | 96,6 % | +| UBJSON (size) | 58,6 % | 92,3 % | 86,8 % | 97,4 % | +| UBJSON (size+type) | 55,9 % | 92,3 % | 85,0 % | 95,0 % | diff --git a/doc/mkdocs/docs/features/binary_formats/messagepack.md b/doc/mkdocs/docs/features/binary_formats/messagepack.md new file mode 100644 index 00000000..3261cf05 --- /dev/null +++ b/doc/mkdocs/docs/features/binary_formats/messagepack.md @@ -0,0 +1,142 @@ +# MessagePack + +MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. + +!!! abstract "References" + + - [MessagePack website](https://msgpack.org) + - [MessagePack specification](https://github.com/msgpack/msgpack/blob/master/spec.md) + +## Serialization + +The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification: + +JSON value type | value/range | MessagePack type | first byte +--------------- | --------------------------------- | ---------------- | ---------- +null | `null` | nil | 0xC0 +boolean | `true` | true | 0xC3 +boolean | `false` | false | 0xC2 +number_integer | -9223372036854775808..-2147483649 | int64 | 0xD3 +number_integer | -2147483648..-32769 | int32 | 0xD2 +number_integer | -32768..-129 | int16 | 0xD1 +number_integer | -128..-33 | int8 | 0xD0 +number_integer | -32..-1 | negative fixint | 0xE0..0xFF +number_integer | 0..127 | positive fixint | 0x00..0x7F +number_integer | 128..255 | uint 8 | 0xCC +number_integer | 256..65535 | uint 16 | 0xCD +number_integer | 65536..4294967295 | uint 32 | 0xCE +number_integer | 4294967296..18446744073709551615 | uint 64 | 0xCF +number_unsigned | 0..127 | positive fixint | 0x00..0x7F +number_unsigned | 128..255 | uint 8 | 0xCC +number_unsigned | 256..65535 | uint 16 | 0xCD +number_unsigned | 65536..4294967295 | uint 32 | 0xCE +number_unsigned | 4294967296..18446744073709551615 | uint 64 | 0xCF +number_float | *any value* | float 64 | 0xCB +string | *length*: 0..31 | fixstr | 0xA0..0xBF +string | *length*: 32..255 | str 8 | 0xD9 +string | *length*: 256..65535 | str 16 | 0xDA +string | *length*: 65536..4294967295 | str 32 | 0xDB +array | *size*: 0..15 | fixarray | 0x90..0x9F +array | *size*: 16..65535 | array 16 | 0xDC +array | *size*: 65536..4294967295 | array 32 | 0xDD +object | *size*: 0..15 | fix map | 0x80..0x8F +object | *size*: 16..65535 | map 16 | 0xDE +object | *size*: 65536..4294967295 | map 32 | 0xDF +binary | *size*: 0..255 | bin 8 | 0xC4 +binary | *size*: 256..65535 | bin 16 | 0xC5 +binary | *size*: 65536..4294967295 | bin 32 | 0xC6 + +!!! success "Complete mapping" + + The mapping is **complete** in the sense that any JSON value type can be converted to a MessagePack value. + + Any MessagePack output created by `to_msgpack` can be successfully parsed by `from_msgpack`. + +!!! warning "Size constraints" + + The following values can **not** be converted to a MessagePack value: + + - strings with more than 4294967295 bytes + - byte strings with more than 4294967295 bytes + - arrays with more than 4294967295 elements + - objects with more than 4294967295 elements + +!!! info "Unused MessagePack types" + + The following MessagePack types are not used in the conversion: float 32 (0xCA) + +!!! info "NaN/infinity handling" + + If NaN or Infinity are stored inside a JSON number, they are serialized properly. function which serializes NaN or Infinity to `null`. + +!!! example + + ```cpp + --8<-- "examples/to_msgpack.cpp" + ``` + + Output: + + ```c + --8<-- "examples/to_msgpack.output" + ``` + +## Deserialization + +The library maps MessagePack types to JSON value types as follows: + +MessagePack type | JSON value type | first byte +---------------- | --------------- | ---------- +positive fixint | number_unsigned | 0x00..0x7F +fixmap | object | 0x80..0x8F +fixarray | array | 0x90..0x9F +fixstr | string | 0xA0..0xBF +nil | `null` | 0xC0 +false | `false` | 0xC2 +true | `true` | 0xC3 +float 32 | number_float | 0xCA +float 64 | number_float | 0xCB +uint 8 | number_unsigned | 0xCC +uint 16 | number_unsigned | 0xCD +uint 32 | number_unsigned | 0xCE +uint 64 | number_unsigned | 0xCF +int 8 | number_integer | 0xD0 +int 16 | number_integer | 0xD1 +int 32 | number_integer | 0xD2 +int 64 | number_integer | 0xD3 +str 8 | string | 0xD9 +str 16 | string | 0xDA +str 32 | string | 0xDB +array 16 | array | 0xDC +array 32 | array | 0xDD +map 16 | object | 0xDE +map 32 | object | 0xDF +bin 8 | binary | 0xC4 +bin 16 | binary | 0xC5 +bin 32 | binary | 0xC6 +ext 8 | binary | 0xC7 +ext 16 | binary | 0xC8 +ext 32 | binary | 0xC9 +fixext 1 | binary | 0xD4 +fixext 2 | binary | 0xD5 +fixext 4 | binary | 0xD6 +fixext 8 | binary | 0xD7 +fixext 16 | binary | 0xD8 +negative fixint | number_integer | 0xE0-0xFF + +!!! info + + Any MessagePack output created by `to_msgpack` can be successfully parsed by `from_msgpack`. + + +!!! example + + ```cpp + --8<-- "examples/from_msgpack.cpp" + ``` + + Output: + + ```json + --8<-- "examples/from_msgpack.output" + ``` diff --git a/doc/mkdocs/docs/features/binary_formats/ubjson.md b/doc/mkdocs/docs/features/binary_formats/ubjson.md new file mode 100644 index 00000000..b0fa1d08 --- /dev/null +++ b/doc/mkdocs/docs/features/binary_formats/ubjson.md @@ -0,0 +1,133 @@ +# UBJSON + +Universal Binary JSON (UBJSON) is a binary form directly imitating JSON, but requiring fewer bytes of data. It aims to achieve the generality of JSON, combined with being much easier to process than JSON. + +!!! abstract "References" + + - [UBJSON Website](http://ubjson.org) + +## Serialization + +The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification: + +JSON value type | value/range | UBJSON type | marker +--------------- | --------------------------------- | ----------- | ------ +null | `null` | null | `Z` +boolean | `true` | true | `T` +boolean | `false` | false | `F` +number_integer | -9223372036854775808..-2147483649 | int64 | `L` +number_integer | -2147483648..-32769 | int32 | `l` +number_integer | -32768..-129 | int16 | `I` +number_integer | -128..127 | int8 | `i` +number_integer | 128..255 | uint8 | `U` +number_integer | 256..32767 | int16 | `I` +number_integer | 32768..2147483647 | int32 | `l` +number_integer | 2147483648..9223372036854775807 | int64 | `L` +number_unsigned | 0..127 | int8 | `i` +number_unsigned | 128..255 | uint8 | `U` +number_unsigned | 256..32767 | int16 | `I` +number_unsigned | 32768..2147483647 | int32 | `l` +number_unsigned | 2147483648..9223372036854775807 | int64 | `L` +number_float | *any value* | float64 | `D` +string | *with shortest length indicator* | string | `S` +array | *see notes on optimized format* | array | `[` +object | *see notes on optimized format* | map | `{` + +!!! success "Complete mapping" + + The mapping is **complete** in the sense that any JSON value type can be converted to a UBJSON value. + + Any UBJSON output created by `to_ubjson` can be successfully parsed by `from_ubjson`. + +!!! warning "Size constraints" + + The following values can **not** be converted to a UBJSON value: + + - strings with more than 9223372036854775807 bytes (theoretical) + - unsigned integer numbers above 9223372036854775807 + +!!! info "Unused UBJSON markers" + + The following markers are not used in the conversion: + + - `Z`: no-op values are not created. + - `C`: single-byte strings are serialized with `S` markers. + +!!! info "NaN/infinity handling" + + If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the `dump()` + function which serializes NaN or Infinity to `null`. + +!!! info "Optimized formats" + + The optimized formats for containers are supported: Parameter + `use_size` adds size information to the beginning of a container and + removes the closing marker. Parameter `use_type` further checks + whether all elements of a container have the same type and adds the + type marker to the beginning of the container. The `use_type` + parameter must only be used together with `use_size = true`. + + Note that `use_size = true` alone may result in larger representations - + the benefit of this parameter is that the receiving side is + immediately informed on the number of elements of the container. + +!!! info "Binary values" + + If the JSON data contains the binary type, the value stored is a list + of integers, as suggested by the UBJSON documentation. In particular, + this means that serialization and the deserialization of a JSON + containing binary values into UBJSON and back will result in a + different JSON object. + + +!!! example + + ```cpp + --8<-- "examples/to_ubjson.cpp" + ``` + + Output: + + ```c + --8<-- "examples/to_ubjson.output" + ``` + +## Deserialization + +The library maps UBJSON types to JSON value types as follows: + +UBJSON type | JSON value type | marker +----------- | --------------------------------------- | ------ +no-op | *no value, next value is read* | `N` +null | `null` | `Z` +false | `false` | `F` +true | `true` | `T` +float32 | number_float | `d` +float64 | number_float | `D` +uint8 | number_unsigned | `U` +int8 | number_integer | `i` +int16 | number_integer | `I` +int32 | number_integer | `l` +int64 | number_integer | `L` +string | string | `S` +char | string | `C` +array | array (optimized values are supported) | `[` +object | object (optimized values are supported) | `{` + +!!! success "Complete mapping" + + The mapping is **complete** in the sense that any UBJSON value can be converted to a JSON value. + + +!!! example + + ```cpp + --8<-- "examples/from_ubjson.cpp" + ``` + + Output: + + ```json + --8<-- "examples/from_ubjson.output" + ``` diff --git a/doc/mkdocs/docs/features/binary_values.md b/doc/mkdocs/docs/features/binary_values.md new file mode 100644 index 00000000..e5444a48 --- /dev/null +++ b/doc/mkdocs/docs/features/binary_values.md @@ -0,0 +1,281 @@ +# Binary Values + +The library implements several [binary formats](binary_formats/index) that encode JSON in an efficient way. Most of these formats support binary values; that is, values that have semantics define outside the library and only define a sequence of bytes to be stored. + +JSON itself does not have a binary value. As such, binary values are an extension that this library implements to store values received by a binary format. Binary values are never created by the JSON parser, and are only part of a serialized JSON text if they have been created manually or via a binary format. + +## API for binary values + +By default, binary values are stored as `std::vector`. This type can be changed by providing a template parameter to the `basic_json` type. To store binary subtypes, the storage type is extended and exposed as `json::binary_t`: + +```cpp +auto binary = json::binary_t({0xCA, 0xFE, 0xBA, 0xBE}); +auto binary_with_subtype = json::binary_t({0xCA, 0xFE, 0xBA, 0xBE}, 42); +``` + +There are several convenience functions to check and set the subtype: + +```cpp +binary.has_subtype(); // returns false +binary_with_subtype.has_subtype(); // returns true + +binary_with_subtype.clear_subtype(); +binary_with_subtype.has_subtype(); // returns true + +binary_with_subtype.set_subtype(42); +binary.set_subtype(23); + +binary.subtype(); // returns 23 +``` + +As `json::binary_t` is subclassing `std::vector`, all member functions are available: + +```cpp +binary.size(); // returns 4 +binary[1]; // returns 0xFE +``` + +JSON values can be constructed from `json::binary_t`: + +```cpp +json j = binary; +``` + +Binary values are primitive values just like numbers or strings: + +```cpp +j.is_binary(); // returns true +j.is_primitive(); // returns true +``` + +Given a binary JSON value, the `binary_t` can be accessed by reference as via `get_binary()`: + +```cpp +j.get_binary().has_subtype(); // returns true +j.get_binary().size(); // returns 4 +``` + +For convencience, binary JSON values can be constructed via `json::binary`: + +```cpp +auto j2 = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 23); +auto j3 = json::binary({0xCA, 0xFE, 0xBA, 0xBE}); + +j2 == j; // returns true +j3.get_binary().has_subtype(); // returns false +``` + + + +## Serialization + +Binary values are serialized differently according to the formats. + +### JSON + +JSON does not have a binary type, and this library does not introduce a new type as this would break conformance. Instead, binary values are serialized as an object with two keys: `bytes` holds an array of integers, and `subtype` is an integer or `null`. + +!!! example + + Code: + + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // serialize to standard output + std::cout << j.dump(2) << std::endl; + ``` + + Output: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` + +!!! warning "No roundtrip for binary values" + + The JSON parser will not parse the objects generated by binary values back to binary values. This is by design to remain standards compliant. Serializing binary values to JSON is only implemented for debugging purposes. + +### BSON + +[BSON](binary_formats/bson) supports binary values and subtypes. If a subtype is given, it is used and added as unsigned 8-bit integer. If no subtype is given, the generic binary subtype 0x00 is used. + +!!! example + + Code: + + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // convert to BSON + auto v = json::to_bson(j); + ``` + + `v` is a `std::vector` with the following 22 elements: + + ```c + 0x16 0x00 0x00 0x00 // number of bytes in the document + 0x05 // binary value + 0x62 0x69 0x6E 0x61 0x72 0x79 0x00 // key "binary" + null byte + 0x04 0x00 0x00 0x00 // number of bytes + 0x2a // subtype + 0xCA 0xFE 0xBA 0xBE // content + 0x00 // end of the document + ``` + + Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` + +### CBOR + +[CBOR](binary_formats/cbor) supports binary values, but no subtypes. Any binary value will be serialized as byte strings. The library will choose the smallest representation using the length of the byte array. + +!!! example + + Code: + + ```cpp + // create a binary value of subtype 42 (will be ignored by CBOR) + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // convert to CBOR + auto v = json::to_cbor(j); + ``` + + `v` is a `std::vector` with the following 13 elements: + + ```c + 0xA1 // map(1) + 0x66 // text(6) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x44 // bytes(4) + 0xCA 0xFE 0xBA 0xBE // content + ``` + + Note the subtype (42) is **not** serialized, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": null + } + } + ``` + +### MessagePack + +[MessagePack](binary_formats/messagepack) supports binary values and subtypes. If a subtype is given, the ext family is used. The library will choose the smallest representation among fixext1, fixext2, fixext4, fixext8, ext8, ext16, and ext32. The subtype is then added as singed 8-bit integer. + +If no subtype is given, the bin family (bin8, bin16, bin32) is used. + +!!! example + + Code: + + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // convert to MessagePack + auto v = json::to_msgpack(j); + ``` + + `v` is a `std::vector` with the following 14 elements: + + ```c + 0x81 // fixmap1 + 0xA6 // fixstr6 + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0xD6 // fixext4 + 0x2A // subtype + 0xCA 0xFE 0xBA 0xBE // content + ``` + + Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` + +### UBJSON + +[UBJSON](binary_formats/ubjson) neither supports binary values nor subtypes, and proposes to serialize binary values as array of uint8 values. This translation is implemented by the library. + +!!! example + + Code: + + ```cpp + // create a binary value of subtype 42 (will be ignored in UBJSON) + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // convert to UBJSON + auto v = json::to_msgpack(j); + ``` + + `v` is a `std::vector` with the following 20 elements: + + ```c + 0x7B // '{' + 0x69 0x06 // i 6 (length of the key) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x5B // '[' + 0x55 0xCA 0x55 0xFE 0x55 0xBA 0x55 0xBE // content (each byte prefixed with 'U') + 0x5D // ']' + 0x7D // '}' + ``` + + The following code uses the type and size optimization for UBJSON: + + ```cpp + // convert to UBJSON using the size and type optimization + auto v = json::to_ubjson(j, true, true); + ``` + + The resulting vector has 23 elements; the optimization is not effective for examples with few values: + + ```c + 0x7B // '{' + 0x24 // '$' type of the object elements + 0x5B // '[' array + 0x23 0x69 0x01 // '#' i 1 number of object elements + 0x69 0x06 // i 6 (length of the key) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x24 0x55 // '$' 'U' type of the array elements: unsinged integers + 0x23 0x69 0x04 // '#' i 4 number of array elements + 0xCA 0xFE 0xBA 0xBE // content + ``` + + Note that subtype (42) is **not** serialized and that UBJSON has **no binary type**, and deserializing `v` would yield the following value: + + ```json + { + "binary": [202, 254, 186, 190] + } + ``` diff --git a/doc/mkdocs/docs/features/enum_conversion.md b/doc/mkdocs/docs/features/enum_conversion.md new file mode 100644 index 00000000..1c1bb803 --- /dev/null +++ b/doc/mkdocs/docs/features/enum_conversion.md @@ -0,0 +1,53 @@ +# Specializing enum conversion + +By default, enum values are serialized to JSON as integers. In some cases this could result in undesired behavior. If an enum is modified or re-ordered after data has been serialized to JSON, the later de-serialized JSON data may be undefined or a different enum value than was originally intended. + +It is possible to more precisely specify how a given enum is mapped to and from JSON as shown below: + +```cpp +// example enum type declaration +enum TaskState { + TS_STOPPED, + TS_RUNNING, + TS_COMPLETED, + TS_INVALID=-1, +}; + +// map TaskState values to JSON as strings +NLOHMANN_JSON_SERIALIZE_ENUM( TaskState, { + {TS_INVALID, nullptr}, + {TS_STOPPED, "stopped"}, + {TS_RUNNING, "running"}, + {TS_COMPLETED, "completed"}, +}) +``` + +The `NLOHMANN_JSON_SERIALIZE_ENUM()` macro declares a set of `to_json()` / `from_json()` functions for type `TaskState` while avoiding repetition and boilerplate serialization code. + +## Usage + +```cpp +// enum to JSON as string +json j = TS_STOPPED; +assert(j == "stopped"); + +// json string to enum +json j3 = "running"; +assert(j3.get() == TS_RUNNING); + +// undefined json value to enum (where the first map entry above is the default) +json jPi = 3.14; +assert(jPi.get() == TS_INVALID ); +``` + +## Notes + +Just as in [Arbitrary Type Conversions](#arbitrary-types-conversions) above, + +- `NLOHMANN_JSON_SERIALIZE_ENUM()` MUST be declared in your enum type's namespace (which can be the global namespace), or the library will not be able to locate it and it will default to integer serialization. +- It MUST be available (e.g., proper headers must be included) everywhere you use the conversions. + +Other Important points: + +- When using `get()`, undefined JSON values will default to the first pair specified in your map. Select this default pair carefully. +- If an enum or JSON value is specified more than once in your map, the first matching occurrence from the top of the map will be returned when converting to or from JSON. diff --git a/doc/mkdocs/docs/features/json_patch.md b/doc/mkdocs/docs/features/json_patch.md new file mode 100644 index 00000000..d496a815 --- /dev/null +++ b/doc/mkdocs/docs/features/json_patch.md @@ -0,0 +1,28 @@ +# JSON Patch + +On top of this, **JSON Patch** ([RFC 6902](https://tools.ietf.org/html/rfc6902)) allows to describe differences between two JSON values - effectively allowing patch and diff operations known from Unix. + +```cpp + +// a JSON patch (RFC 6902) +json j_patch = R"([ + { "op": "replace", "path": "/baz", "value": "boo" }, + { "op": "add", "path": "/hello", "value": ["world"] }, + { "op": "remove", "path": "/foo"} +])"_json; + +// apply the patch +json j_result = j_original.patch(j_patch); +// { +// "baz": "boo", +// "hello": ["world"] +// } + +// calculate a JSON patch from two JSON values +json::diff(j_result, j_original); +// [ +// { "op":" replace", "path": "/baz", "value": ["one", "two", "three"] }, +// { "op": "remove","path": "/hello" }, +// { "op": "add", "path": "/foo", "value": "bar" } +// ] +``` diff --git a/doc/mkdocs/docs/features/json_pointer.md b/doc/mkdocs/docs/features/json_pointer.md new file mode 100644 index 00000000..b95c5bc0 --- /dev/null +++ b/doc/mkdocs/docs/features/json_pointer.md @@ -0,0 +1,15 @@ +# JSON Pointer + +The library supports **JSON Pointer** ([RFC 6901](https://tools.ietf.org/html/rfc6901)) as alternative means to address structured values. + +```cpp +// a JSON value +json j_original = R"({ + "baz": ["one", "two", "three"], + "foo": "bar" +})"_json; + +// access members with a JSON pointer (RFC 6901) +j_original["/baz/1"_json_pointer]; +// "two" +``` diff --git a/doc/mkdocs/docs/features/merge_patch.md b/doc/mkdocs/docs/features/merge_patch.md new file mode 100644 index 00000000..ffeef945 --- /dev/null +++ b/doc/mkdocs/docs/features/merge_patch.md @@ -0,0 +1,31 @@ +# JSON Merge Patch + +The library supports **JSON Merge Patch** ([RFC 7386](https://tools.ietf.org/html/rfc7386)) as a patch format. Instead of using JSON Pointer (see above) to specify values to be manipulated, it describes the changes using a syntax that closely mimics the document being modified. + +```cpp +// a JSON value +json j_document = R"({ + "a": "b", + "c": { + "d": "e", + "f": "g" + } +})"_json; + +// a patch +json j_patch = R"({ + "a":"z", + "c": { + "f": null + } +})"_json; + +// apply the patch +j_document.merge_patch(j_patch); +// { +// "a": "z", +// "c": { +// "d": "e" +// } +// } +``` diff --git a/doc/mkdocs/docs/features/sax_interface.md b/doc/mkdocs/docs/features/sax_interface.md new file mode 100644 index 00000000..135fc23b --- /dev/null +++ b/doc/mkdocs/docs/features/sax_interface.md @@ -0,0 +1,42 @@ +# SAX Interface + +The library uses a SAX-like interface with the following functions: + +```cpp +// called when null is parsed +bool null(); + +// called when a boolean is parsed; value is passed +bool boolean(bool val); + +// called when a signed or unsigned integer number is parsed; value is passed +bool number_integer(number_integer_t val); +bool number_unsigned(number_unsigned_t val); + +// called when a floating-point number is parsed; value and original string is passed +bool number_float(number_float_t val, const string_t& s); + +// called when a string is parsed; value is passed and can be safely moved away +bool string(string_t& val); + +// called when an object or array begins or ends, resp. The number of elements is passed (or -1 if not known) +bool start_object(std::size_t elements); +bool end_object(); +bool start_array(std::size_t elements); +bool end_array(); +// called when an object key is parsed; value is passed and can be safely moved away +bool key(string_t& val); + +// called when a parse error occurs; byte position, the last token, and an exception is passed +bool parse_error(std::size_t position, const std::string& last_token, const detail::exception& ex); +``` + +The return value of each function determines whether parsing should proceed. + +To implement your own SAX handler, proceed as follows: + +1. Implement the SAX interface in a class. You can use class `nlohmann::json_sax` as base class, but you can also use any class where the functions described above are implemented and public. +2. Create an object of your SAX interface class, e.g. `my_sax`. +3. Call `#!cpp bool json::sax_parse(input, &my_sax);` where the first parameter can be any input like a string or an input stream and the second parameter is a pointer to your SAX interface. + +Note the `sax_parse` function only returns a `#!cpp bool` indicating the result of the last executed SAX event. It does not return `json` value - it is up to you to decide what to do with the SAX events. Furthermore, no exceptions are thrown in case of a parse error - it is up to you what to do with the exception object passed to your `parse_error` implementation. Internally, the SAX interface is used for the DOM parser (class `json_sax_dom_parser`) as well as the acceptor (`json_sax_acceptor`), see file `json_sax.hpp`. diff --git a/doc/mkdocs/docs/home/code_of_conduct.md b/doc/mkdocs/docs/home/code_of_conduct.md new file mode 100644 index 00000000..770b8173 --- /dev/null +++ b/doc/mkdocs/docs/home/code_of_conduct.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mail@nlohmann.me. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/doc/mkdocs/docs/home/design_goals.md b/doc/mkdocs/docs/home/design_goals.md new file mode 100644 index 00000000..91b38752 --- /dev/null +++ b/doc/mkdocs/docs/home/design_goals.md @@ -0,0 +1,17 @@ +# Design goals + +There are myriads of [JSON](https://json.org) libraries out there, and each may even have its reason to exist. Our class had these design goals: + +- **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the [examples below](#examples) and you'll know what I mean. + +- **Trivial integration**. Our whole code consists of a single header file [`json.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp). That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings. + +- **Serious testing**. Our class is heavily [unit-tested](https://github.com/nlohmann/json/tree/develop/test/src) and covers [100%](https://coveralls.io/r/nlohmann/json) of the code, including all exceptional behavior. Furthermore, we checked with [Valgrind](http://valgrind.org) and the [Clang Sanitizers](https://clang.llvm.org/docs/index.html) that there are no memory leaks. [Google OSS-Fuzz](https://github.com/google/oss-fuzz/tree/master/projects/json) additionally runs fuzz tests against all parsers 24/7, effectively executing billions of tests so far. To maintain high quality, the project is following the [Core Infrastructure Initiative (CII) best practices](https://bestpractices.coreinfrastructure.org/projects/289). + +Other aspects were not so important to us: + +- **Memory efficiency**. Each JSON object has an overhead of one pointer (the maximal size of a union) and one enumeration element (1 byte). The default generalization uses the following C++ data types: `std::string` for strings, `int64_t`, `uint64_t` or `double` for numbers, `std::map` for objects, `std::vector` for arrays, and `bool` for Booleans. However, you can template the generalized class `basic_json` to your needs. + +- **Speed**. There are certainly [faster JSON libraries](https://github.com/miloyip/nativejson-benchmark#parsing-time) out there. However, if your goal is to speed up your development by adding JSON support with a single header, then this library is the way to go. If you know how to use a `std::vector` or `std::map`, you are already set. + +See the [contribution guidelines](https://github.com/nlohmann/json/blob/master/.github/CONTRIBUTING.md#please-dont) for more information. diff --git a/doc/mkdocs/docs/home/exceptions.md b/doc/mkdocs/docs/home/exceptions.md new file mode 100644 index 00000000..669727ce --- /dev/null +++ b/doc/mkdocs/docs/home/exceptions.md @@ -0,0 +1,713 @@ +# Exceptions + +## Overview + +### Base type + +All exceptions inherit from class `json::exception` (which in turn inherits from `std::exception`). It is used as the base class for all exceptions thrown by the `basic_json` class. This class can hence be used as "wildcard" to catch exceptions. + +### Switch off exceptions + +Exceptions are used widely within the library. They can, however, be switched off with either using the compiler flag `-fno-exceptions` or by defining the symbol `JSON_NOEXCEPTION`. In this case, exceptions are replaced by `abort()` calls. You can further control this behavior by defining `JSON_THROW_USER` (overriding `#!cpp throw`), `JSON_TRY_USER` (overriding `#!cpp try`), and `JSON_CATCH_USER` (overriding `#!cpp catch`). + +Note that `JSON_THROW_USER` should leave the current scope (e.g., by throwing or aborting), as continuing after it may yield undefined behavior. + +## Parse errors + +This exception is thrown by the library when a parse error occurs. Parse errors +can occur during the deserialization of JSON text, CBOR, MessagePack, as well +as when using JSON Patch. + +Exceptions have ids 1xx. + +!!! info "Byte index" + + Member `byte` holds the byte index of the last read character in the input + file. + + For an input with n bytes, 1 is the index of the first character and n+1 + is the index of the terminating null byte or the end of file. This also + holds true when reading a byte vector (CBOR or MessagePack). + + +### json.exception.parse_error.101 + +This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member `byte` indicates the error position. + +!!! example + + Input ended prematurely: + + ``` + [json.exception.parse_error.101] parse error at 2: unexpected end of input; expected string literal + ``` + + No input: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal + ``` + + Control character was not escaped: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 2: syntax error while parsing value - invalid string: control character U+0009 (HT) must be escaped to \u0009 or \\; last read: '"'" + ``` + + String was not closed: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 2: syntax error while parsing value - invalid string: missing closing quote; last read: '"' + ``` + + Invalid number format: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 3: syntax error while parsing value - invalid number; expected '+', '-', or digit after exponent; last read: '1E' + ``` + + `\u` was not be followed by four hex digits: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 6: syntax error while parsing value - invalid string: '\u' must be followed by 4 hex digits; last read: '"\u01"' + ``` + + Invalid UTF-8 surrogate pair: + + ``` + [json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF; last read: '"\uD7FF\uDC00'" + ``` + + Invalid UTF-8 byte: + + ``` + [json.exception.parse_error.101] parse error at line 3, column 24: syntax error while parsing value - invalid string: ill-formed UTF-8 byte; last read: '"vous \352t' + ``` + +!!! tip + + - Make sure the input is correctly read. Try to write the input to standard output to check if, for instance, the input file was successfully openened. + - Paste the input to a JSON validator like or a tool like [jq](https://stedolan.github.io/jq/). + +### json.exception.parse_error.102 + +JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. + +!!! example + + ``` + parse error at 14: missing or wrong low surrogate + ``` + +### json.exception.parse_error.103 + +Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. + +!!! example + + ``` + parse error: code points above 0x10FFFF are invalid + ``` + +### json.exception.parse_error.104 + +[RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. + +!!! example + + ``` + [json.exception.parse_error.104] parse error: JSON patch must be an array of objects + ``` + +### json.exception.parse_error.105 + +An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. + +!!! example + + ``` + [json.exception.parse_error.105] parse error: operation 'add' must have member 'value' + ``` + ``` + [json.exception.parse_error.105] parse error: operation 'copy' must have string member 'from' + ``` + ``` + [json.exception.parse_error.105] parse error: operation value 'foo' is invalid + ``` + +### json.exception.parse_error.106 + +An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. + +!!! example + + ``` + [json.exception.parse_error.106] parse error: array index '01' must not begin with '0' + ``` + +### json.exception.parse_error.107 + +A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. + +!!! example + + ``` + [json.exception.parse_error.107] parse error at byte 1: JSON pointer must be empty or begin with '/' - was: 'foo' + ``` + +### json.exception.parse_error.108 + +In a JSON Pointer, only `~0` and `~1` are valid escape sequences. + +!!! example + + ``` + [json.exception.parse_error.108] parse error: escape character '~' must be followed with '0' or '1' + ``` + +### json.exception.parse_error.109 + +A JSON Pointer array index must be a number. + +!!! example + + ``` + [json.exception.parse_error.109] parse error: array index 'one' is not a number + ``` + ``` + [json.exception.parse_error.109] parse error: array index '+1' is not a number + ``` + +### json.exception.parse_error.110 + +When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. + +!!! example + + ``` + [json.exception.parse_error.110] parse error at byte 5: syntax error while parsing CBOR string: unexpected end of input + ``` + ``` + [json.exception.parse_error.110] parse error at byte 2: syntax error while parsing UBJSON value: expected end of input; last byte: 0x5A + ``` + +### json.exception.parse_error.112 + +Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. + +!!! example + + ``` + [json.exception.parse_error.112] parse error at byte 1: syntax error while parsing CBOR value: invalid byte: 0x1C + ``` + +### json.exception.parse_error.113 + +While parsing a map key, a value that is not a string has been read. + +!!! example + + ``` + [json.exception.parse_error.113] parse error at byte 2: syntax error while parsing CBOR string: expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0xFF + ``` + ``` + [json.exception.parse_error.113] parse error at byte 2: syntax error while parsing MessagePack string: expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0xFF + ``` + ``` + [json.exception.parse_error.113] parse error at byte 2: syntax error while parsing UBJSON char: byte after 'C' must be in range 0x00..0x7F; last byte: 0x82 + ``` + +### json.exception.parse_error.114 + +The parsing of the corresponding BSON record type is not implemented (yet). + +!!! example + + ``` + [json.exception.parse_error.114] parse error at byte 5: Unsupported BSON record type 0xFF + ``` + +## Iterator errors + +This exception is thrown if iterators passed to a library function do not match +the expected semantics. + +Exceptions have ids 2xx. + +### json.exception.invalid_iterator.201 + +The iterators passed to constructor `basic_json(InputIT first, InputIT last)` are not compatible, meaning they do not belong to the same container. Therefore, the range (`first`, `last`) is invalid. + +!!! example + + ``` + [json.exception.invalid_iterator.201] iterators are not compatible + ``` + +### json.exception.invalid_iterator.202 + +In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. + +!!! example + + ``` + [json.exception.invalid_iterator.202] iterator does not fit current value + ``` + ``` + [json.exception.invalid_iterator.202] iterators first and last must point to objects + ``` + +### json.exception.invalid_iterator.203 + +Either iterator passed to function `erase(IteratorType` first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. + +!!! example + + ``` + [json.exception.invalid_iterator.203] iterators do not fit current value + ``` + +### json.exception.invalid_iterator.204 + +When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (`begin(),` `end()),` because this is the only way the single stored value is expressed. All other ranges are invalid. + +!!! example + + ``` + [json.exception.invalid_iterator.204] iterators out of range + ``` + +### json.exception.invalid_iterator.205 + +When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the `begin()` iterator, because it is the only way to address the stored value. All other iterators are invalid. + +!!! example + + ``` + [json.exception.invalid_iterator.205] iterator out of range + ``` + +### json.exception.invalid_iterator.206 + +The iterators passed to constructor `basic_json(InputIT first, InputIT last)` belong to a JSON null value and hence to not define a valid range. + +!!! example + + ``` + [json.exception.invalid_iterator.206] cannot construct with iterators from null + ``` + +### json.exception.invalid_iterator.207 + +The `key()` member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. + +!!! example + + ``` + [json.exception.invalid_iterator.207] cannot use key() for non-object iterators + ``` + + +### json.exception.invalid_iterator.208 + +The `operator[]` to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +!!! example + + ``` + [json.exception.invalid_iterator.208] cannot use operator[] for object iterators + ``` + +### json.exception.invalid_iterator.209 + +The offset operators (`+`, `-`, `+=`, `-=`) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +!!! example + + ``` + [json.exception.invalid_iterator.209] cannot use offsets with object iterators + ``` + +### json.exception.invalid_iterator.210 + +The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (`first`, `last`) is invalid. + +!!! example + + ``` + [json.exception.invalid_iterator.210] iterators do not fit + ``` + +### json.exception.invalid_iterator.211 + +The iterator range passed to the insert function must not be a subrange of the container to insert to. + +!!! example + + ``` + [json.exception.invalid_iterator.211] passed iterators may not belong to container + ``` + +### json.exception.invalid_iterator.212 + +When two iterators are compared, they must belong to the same container. + +!!! example + + ``` + [json.exception.invalid_iterator.212] cannot compare iterators of different containers + ``` + +### json.exception.invalid_iterator.213 + +The order of object iterators cannot be compared, because JSON objects are unordered. + +!!! example + + ``` + [json.exception.invalid_iterator.213] cannot compare order of object iterators + ``` + +### json.exception.invalid_iterator.214 + +Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to `begin()`. + +!!! example + + ``` + [json.exception.invalid_iterator.214] cannot get value + ``` + + +## Type errors + +This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics. + +Exceptions have ids 3xx. + + +### json.exception.type_error.301 + +To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. + +!!! example + + ``` + [json.exception.type_error.301] cannot create object from initializer list + ``` + +### json.exception.type_error.302 + +During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. + +!!! example + + ``` + [json.exception.type_error.302] type must be object, but is null + ``` + ``` + [json.exception.type_error.302] type must be string, but is object + ``` + +### json.exception.type_error.303 + +To retrieve a reference to a value stored in a `basic_json` object with `get_ref`, the type of the reference must match the value type. For instance, for a JSON array, the `ReferenceType` must be `array_t &`. + +!!! example + + ``` + [json.exception.type_error.303] incompatible ReferenceType for get_ref, actual type is object + ``` + ``` + [json.exception.type_error.303] incompatible ReferenceType for get_ref, actual type is number" + ``` + +### json.exception.type_error.304 + +The `at()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.304] cannot use at() with string + ``` + ``` + [json.exception.type_error.304] cannot use at() with number + ``` + +### json.exception.type_error.305 + +The `operator[]` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.305] cannot use operator[] with a string argument with array + ``` + ``` + [json.exception.type_error.305] cannot use operator[] with a numeric argument with object + ``` + +### json.exception.type_error.306 + +The `value()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.306] cannot use value() with number + ``` + +### json.exception.type_error.307 + +The `erase()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.307] cannot use erase() with string + ``` + +### json.exception.type_error.308 + +The `push_back()` and `operator+=` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.308] cannot use push_back() with string + ``` + +### json.exception.type_error.309 + +The `insert()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.309] cannot use insert() with array + ``` + ``` + [json.exception.type_error.309] cannot use insert() with number + ``` + +### json.exception.type_error.310 + +The `swap()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.310] cannot use swap() with number + ``` + +### json.exception.type_error.311 + +The `emplace()` and `emplace_back()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.311] cannot use emplace() with number + ``` + ``` + [json.exception.type_error.311] cannot use emplace_back() with number + ``` + +### json.exception.type_error.312 + +The `update()` member functions can only be executed for certain JSON types. + +!!! example + + ``` + [json.exception.type_error.312] cannot use update() with array + ``` + +### json.exception.type_error.313 + +The `unflatten` function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. + +!!! example + + ``` + [json.exception.type_error.313] invalid value to unflatten + ``` + +### json.exception.type_error.314 + +The `unflatten` function only works for an object whose keys are JSON Pointers. + +!!! example + + Calling `unflatten()` on an array `#!json [1,2,3]`: + + ``` + [json.exception.type_error.314] only objects can be unflattened + ``` + +### json.exception.type_error.315 + +The `unflatten()` function only works for an object whose keys are JSON Pointers and whose values are primitive. + +!!! example + + Calling `unflatten()` on an object `#!json {"/1", [1,2,3]}`: + + ``` + [json.exception.type_error.315] values in object must be primitive + ``` + +### json.exception.type_error.316 + +The `dump()` function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. + +!!! example + + Calling `dump()` on a JSON value containing an ISO 8859-1 encoded string: + ``` + [json.exception.type_error.316] invalid UTF-8 byte at index 15: 0x6F + ``` + +!!! tip + + - Store the source file with UTF-8 encoding. + - Pass an error handler as last parameter to the `dump()` function to avoid this exception: + - `json::error_handler_t::replace` will replace invalid bytes sequences with `U+FFFD` + - `json::error_handler_t::ignore` will silently ignore invalid byte sequences + +### json.exception.type_error.317 + +The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) + +!!! example + + Serializing `#!json null` to BSON: + ``` + [json.exception.type_error.317] to serialize to BSON, top-level type must be object, but is null + ``` + Serializing `#!json [1,2,3]` to BSON: + ``` + [json.exception.type_error.317] to serialize to BSON, top-level type must be object, but is array + ``` + +!!! tip + + Encapsulate the JSON value in an object. That is, instead of serializing `#!json true`, serialize `#!json {"value": true}` + + +## Out of range + +This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys. + +Exceptions have ids 4xx. + + +### json.exception.out_of_range.401 + +The provided array index `i` is larger than `size-1`. + +!!! example + + ``` + array index 3 is out of range + ``` + +### json.exception.out_of_range.402 + +The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. + +!!! example + + ``` + array index '-' (3) is out of range + ``` + +### json.exception.out_of_range.403 + +The provided key was not found in the JSON object. + +!!! example + + ``` + key 'foo' not found + ``` + +### json.exception.out_of_range.404 + +A reference token in a JSON Pointer could not be resolved. + +!!! example + + ``` + unresolved reference token 'foo' + ``` + +### json.exception.out_of_range.405 + +The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. + +!!! example + + ``` + JSON pointer has no parent + ``` + +### json.exception.out_of_range.406 + +A parsed number could not be stored as without changing it to NaN or INF. + +!!! example + + ``` + number overflow parsing '10E1000' + ``` + +### json.exception.out_of_range.407 + +UBJSON and BSON only support integer numbers up to 9223372036854775807. + +!!! example + + ``` + number overflow serializing '9223372036854775808' + ``` + +### json.exception.out_of_range.408 + +The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. + +!!! example + + ``` + excessive array size: 8658170730974374167 + ``` + +### json.exception.out_of_range.409 + +Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string. + +!!! example + + ``` + BSON key cannot contain code point U+0000 (at byte 2) + ``` + +## Further exceptions + +This exception is thrown in case of errors that cannot be classified with the +other exception types. + +Exceptions have ids 5xx. + +### json.exception.other_error.501 + +A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. + +!!! example + + Executing `#!json {"op":"test", "path":"/baz", "value":"bar"}` on `#!json {"baz": "qux"}`: + + ``` + [json.exception.other_error.501] unsuccessful: {"op":"test","path":"/baz","value":"bar"} + ``` diff --git a/doc/mkdocs/docs/home/faq.md b/doc/mkdocs/docs/home/faq.md new file mode 100644 index 00000000..a9b5af08 --- /dev/null +++ b/doc/mkdocs/docs/home/faq.md @@ -0,0 +1,128 @@ +# Frequently Asked Questions (FAQ) + +## Limitations + +### Comments + +!!! question "Questions" + + - Why does the library not support comments? + - Can you add support for JSON5/JSONC/HOCON so that comments are supported? + +This library does not support comments. It does so for three reasons: + +1. Comments are not part of the [JSON specification](https://tools.ietf.org/html/rfc8259). You may argue that `//` or `/* */` are allowed in JavaScript, but JSON is not JavaScript. +2. This was not an oversight: Douglas Crockford [wrote on this](https://plus.google.com/118095276221607585885/posts/RK8qyGVaGSr) in May 2012: + + > I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn't. + + > Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser. + +3. It is dangerous for interoperability if some libraries would add comment support while others don't. Please check [The Harmful Consequences of the Robustness Principle](https://tools.ietf.org/html/draft-iab-protocol-maintenance-01) on this. + +This library will not support comments in the future. If you wish to use comments, I see three options: + +1. Strip comments before using this library. +2. Use a different JSON library with comment support. +3. Use a format that natively supports comments (e.g., YAML or JSON5). + + +### Relaxed parsing + +!!! question + + - Can you add an option to ignore trailing commas? + +For the same reason this library does not support [comments](#comments), this library also does not support any feature which would jeopardize interoperability. + + +### Parse errors reading non-ASCII characters + +!!! question "Questions" + + - Why is the parser complaining about a Chinese character? + - Does the library support Unicode? + - I get an exception `[json.exception.parse_error.101] parse error at line 1, column 53: syntax error while parsing value - invalid string: ill-formed UTF-8 byte; last read: '"Testé$')"` + +The library supports **Unicode input** as follows: + +- Only **UTF-8** encoded input is supported which is the default encoding for JSON according to [RFC 8259](https://tools.ietf.org/html/rfc8259.html#section-8.1). +- `std::u16string` and `std::u32string` can be parsed, assuming UTF-16 and UTF-32 encoding, respectively. These encodings are not supported when reading from files or other input containers. +- Other encodings such as Latin-1 or ISO 8859-1 are **not** supported and will yield parse or serialization errors. +- [Unicode noncharacters](http://www.unicode.org/faq/private_use.html#nonchar1) will not be replaced by the library. +- Invalid surrogates (e.g., incomplete pairs such as `\uDEAD`) will yield parse errors. +- The strings stored in the library are UTF-8 encoded. When using the default string type (`std::string`), note that its length/size functions return the number of stored bytes rather than the number of characters or glyphs. +- When you store strings with different encodings in the library, calling [`dump()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a50ec80b02d0f3f51130d4abb5d1cfdc5.html#a50ec80b02d0f3f51130d4abb5d1cfdc5) may throw an exception unless `json::error_handler_t::replace` or `json::error_handler_t::ignore` are used as error handlers. + +In most cases, the parser is right to complain, because the input is not UTF-8 encoded. This is especially true for Microsoft Windows where Latin-1 or ISO 8859-1 is often the standard encoding. + + +### Key name in exceptions + +!!! question + + Can I get the key of the object item that caused an exception? + +No, this is not possible. See for a longer discussion. + + +## Serialization issues + + +### Order of object keys + +!!! question "Questions" + + - Why are object keys sorted? + - Why is the insertion order of object keys not preserved? + +By default, the library does not preserve the **insertion order of object elements**. This is standards-compliant, as the [JSON standard](https://tools.ietf.org/html/rfc8259.html) defines objects as "an unordered collection of zero or more name/value pairs". + +If you do want to preserve the insertion order, you can specialize the object type with containers like [`tsl::ordered_map`](https://github.com/Tessil/ordered-map) ([integration](https://github.com/nlohmann/json/issues/546#issuecomment-304447518)) or [`nlohmann::fifo_map`](https://github.com/nlohmann/fifo_map) ([integration](https://github.com/nlohmann/json/issues/485#issuecomment-333652309)). + + +### Number precision + +!!! question + + - It seems that precision is lost when serializing a double. + - Can I change the precision for floating-point serialization? + +The library uses `std::numeric_limits::digits10` (15 for IEEE `double`s) digits for serialization. This value is sufficient to guarantee roundtripping. If one uses more than this number of digits of precision, then string -> value -> string is not guaranteed to round-trip. + +!!! quote "[cppreference.com](https://en.cppreference.com/w/cpp/types/numeric_limits/digits10)" + + The value of `std::numeric_limits::digits10` is the number of base-10 digits that can be represented by the type T without change, that is, any number with this many significant decimal digits can be converted to a value of type T and back to decimal form, without change due to rounding or overflow. + +!!! tip + + The website https://float.exposed gives a good insight into the internal storage of floating-point numbers. + + +## Compilation issues + +### Android SDK + +!!! question + + Why does the code not compile with Android SDK? + +Android defaults to using very old compilers and C++ libraries. To fix this, add the following to your `Application.mk`. This will switch to the LLVM C++ library, the Clang compiler, and enable C++11 and other features disabled by default. + +```ini +APP_STL := c++_shared +NDK_TOOLCHAIN_VERSION := clang3.6 +APP_CPPFLAGS += -frtti -fexceptions +``` + +The code compiles successfully with [Android NDK](https://developer.android.com/ndk/index.html?hl=ml), Revision 9 - 11 (and possibly later) and [CrystaX's Android NDK](https://www.crystax.net/en/android/ndk) version 10. + + +### Missing STL function + +!!! question "Questions" + + - Why do I get a compilation error `'to_string' is not a member of 'std'` (or similarly, for `strtod` or `strtof`)? + - Why does the code not compile with MinGW or Android SDK? + +This is not an issue with the code, but rather with the compiler itself. On Android, see above to build with a newer environment. For MinGW, please refer to [this site](http://tehsausage.com/mingw-to-string) and [this discussion](https://github.com/nlohmann/json/issues/136) for information on how to fix this bug. For Android NDK using `APP_STL := gnustl_static`, please refer to [this discussion](https://github.com/nlohmann/json/issues/219). diff --git a/doc/mkdocs/docs/home/license.md b/doc/mkdocs/docs/home/license.md new file mode 100644 index 00000000..9211eddd --- /dev/null +++ b/doc/mkdocs/docs/home/license.md @@ -0,0 +1,21 @@ +# License + + + +The class is licensed under the [MIT License](http://opensource.org/licenses/MIT): + +Copyright © 2013-2019 [Niels Lohmann](http://nlohmann.me) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * + +The class contains the UTF-8 Decoder from Bjoern Hoehrmann which is licensed under the [MIT License](http://opensource.org/licenses/MIT) (see above). Copyright © 2008-2009 [Björn Hoehrmann](http://bjoern.hoehrmann.de/) + +The class contains a slightly modified version of the Grisu2 algorithm from Florian Loitsch which is licensed under the [MIT License](http://opensource.org/licenses/MIT) (see above). Copyright © 2009 [Florian Loitsch](http://florian.loitsch.com/) + +The class contains a copy of [Hedley](https://nemequ.github.io/hedley/) from Evan Nemerson which is licensed as [CC0-1.0](http://creativecommons.org/publicdomain/zero/1.0/). diff --git a/doc/mkdocs/docs/home/sponsors.md b/doc/mkdocs/docs/home/sponsors.md new file mode 100644 index 00000000..e2c5d91f --- /dev/null +++ b/doc/mkdocs/docs/home/sponsors.md @@ -0,0 +1,11 @@ +# Sponsors + +You can sponsor this library at [GitHub Sponsors](https://github.com/sponsors/nlohmann). + +## Named Sponsors + +- [Michael Hartmann](https://github.com/reFX-Mike) +- [Stefan Hagen](https://github.com/sthagen) +- [Steve Sperandeo](https://github.com/homer6) + +Thanks everyone! diff --git a/doc/mkdocs/docs/hooks.py b/doc/mkdocs/docs/hooks.py new file mode 100644 index 00000000..a04a7c53 --- /dev/null +++ b/doc/mkdocs/docs/hooks.py @@ -0,0 +1,7 @@ +import shutil +import os.path + + +def copy_doxygen(*args, **kwargs): + shutil.copytree('../html', os.path.join(kwargs['config']['site_dir'], 'doxygen')) + print('Copy Doxygen complete') diff --git a/doc/mkdocs/docs/index.md b/doc/mkdocs/docs/index.md new file mode 100644 index 00000000..9e5e54a4 --- /dev/null +++ b/doc/mkdocs/docs/index.md @@ -0,0 +1,7 @@ +# JSON for Modern C++ + +!!! note + + This page is under construction. You probably want to see the [Doxygen documentation](doxygen). + +![](images/json.gif) diff --git a/doc/mkdocs/docs/integration/cmake.md b/doc/mkdocs/docs/integration/cmake.md new file mode 100644 index 00000000..76f05dbe --- /dev/null +++ b/doc/mkdocs/docs/integration/cmake.md @@ -0,0 +1,103 @@ +# CMake + +You can also use the `nlohmann_json::nlohmann_json` interface target in CMake. This target populates the appropriate usage requirements for `INTERFACE_INCLUDE_DIRECTORIES` to point to the appropriate include directories and `INTERFACE_COMPILE_FEATURES` for the necessary C++11 flags. + +## External + +To use this library from a CMake project, you can locate it directly with `find_package()` and use the namespaced imported target from the generated package configuration: + +```cmake +# CMakeLists.txt +find_package(nlohmann_json 3.2.0 REQUIRED) +... +add_library(foo ...) +... +target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) +``` + +The package configuration file, `nlohmann_jsonConfig.cmake`, can be used either from an install tree or directly out of the build tree. + +## Embedded + +To embed the library directly into an existing CMake project, place the entire source tree in a subdirectory and call `add_subdirectory()` in your `CMakeLists.txt` file: + +```cmake +# Typically you don't care so much for a third party library's tests to be +# run from your own project's code. +set(JSON_BuildTests OFF CACHE INTERNAL "") + +# If you only include this third party in PRIVATE source files, you do not +# need to install it when your main project gets installed. +# set(JSON_Install OFF CACHE INTERNAL "") + +# Don't use include(nlohmann_json/CMakeLists.txt) since that carries with it +# unintended consequences that will break the build. It's generally +# discouraged (although not necessarily well documented as such) to use +# include(...) for pulling in other CMake projects anyways. +add_subdirectory(nlohmann_json) +... +add_library(foo ...) +... +target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) +``` + +## Embedded (FetchContent) + +Since CMake v3.11, +[FetchContent](https://cmake.org/cmake/help/v3.11/module/FetchContent.html) can +be used to automatically download the repository as a dependency at configure type. + +Example: +```cmake +include(FetchContent) + +FetchContent_Declare(json + GIT_REPOSITORY https://github.com/nlohmann/json + GIT_TAG v3.7.3) + +FetchContent_GetProperties(json) +if(NOT json_POPULATED) + FetchContent_Populate(json) + add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL) +endif() + +target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) +``` + +!!! Note + The repository download size is huge. + It contains all the dataset used for the benchmarks. You might want to depend on + a smaller repository. For instance, you might want to replace the URL above by + . + +## Supporting Both + +To allow your project to support either an externally supplied or an embedded JSON library, you can use a pattern akin to the following: + +``` cmake +# Top level CMakeLists.txt +project(FOO) +... +option(FOO_USE_EXTERNAL_JSON "Use an external JSON library" OFF) +... +add_subdirectory(thirdparty) +... +add_library(foo ...) +... +# Note that the namespaced target will always be available regardless of the +# import method +target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) +``` +```cmake +# thirdparty/CMakeLists.txt +... +if(FOO_USE_EXTERNAL_JSON) + find_package(nlohmann_json 3.2.0 REQUIRED) +else() + set(JSON_BuildTests OFF CACHE INTERNAL "") + add_subdirectory(nlohmann_json) +endif() +... +``` + +`thirdparty/nlohmann_json` is then a complete copy of this source tree. diff --git a/doc/mkdocs/docs/integration/conan/CMakeLists.txt b/doc/mkdocs/docs/integration/conan/CMakeLists.txt new file mode 100644 index 00000000..fd3e9ca7 --- /dev/null +++ b/doc/mkdocs/docs/integration/conan/CMakeLists.txt @@ -0,0 +1,9 @@ +project(json_example) +cmake_minimum_required(VERSION 2.8.12) +add_definitions("-std=c++11") + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(json_example example.cpp) +target_link_libraries(json_example ${CONAN_LIBS}) diff --git a/doc/mkdocs/docs/integration/conan/Conanfile.txt b/doc/mkdocs/docs/integration/conan/Conanfile.txt new file mode 100644 index 00000000..a8a3e703 --- /dev/null +++ b/doc/mkdocs/docs/integration/conan/Conanfile.txt @@ -0,0 +1,5 @@ +[requires] +nlohmann_json/3.7.3 + +[generators] +cmake diff --git a/doc/mkdocs/docs/integration/conan/example.cpp b/doc/mkdocs/docs/integration/conan/example.cpp new file mode 100644 index 00000000..e5a31be4 --- /dev/null +++ b/doc/mkdocs/docs/integration/conan/example.cpp @@ -0,0 +1,9 @@ +#include +#include + +using json = nlohmann::json; + +int main() +{ + std::cout << json::meta() << std::endl; +} diff --git a/doc/mkdocs/docs/integration/example.cpp b/doc/mkdocs/docs/integration/example.cpp new file mode 100644 index 00000000..e5a31be4 --- /dev/null +++ b/doc/mkdocs/docs/integration/example.cpp @@ -0,0 +1,9 @@ +#include +#include + +using json = nlohmann::json; + +int main() +{ + std::cout << json::meta() << std::endl; +} diff --git a/doc/mkdocs/docs/integration/index.md b/doc/mkdocs/docs/integration/index.md new file mode 100644 index 00000000..5dd8cceb --- /dev/null +++ b/doc/mkdocs/docs/integration/index.md @@ -0,0 +1,14 @@ +# Integration + +[`json.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp) is the single required file in `single_include/nlohmann` or [released here](https://github.com/nlohmann/json/releases). You need to add + +```cpp +#include + +// for convenience +using json = nlohmann::json; +``` + +to the files you want to process JSON and set the necessary switches to enable C++11 (e.g., `-std=c++11` for GCC and Clang). + +You can further use file [`include/nlohmann/json_fwd.hpp`](https://github.com/nlohmann/json/blob/develop/include/nlohmann/json_fwd.hpp) for forward-declarations. The installation of json_fwd.hpp (as part of cmake's install step), can be achieved by setting `-DJSON_MultipleHeaders=ON`. diff --git a/doc/mkdocs/docs/integration/package_managers.md b/doc/mkdocs/docs/integration/package_managers.md new file mode 100644 index 00000000..17f2005e --- /dev/null +++ b/doc/mkdocs/docs/integration/package_managers.md @@ -0,0 +1,143 @@ +# Package Managers + +Throughout this page, we will describe how to compile the example file `example.cpp` below. + +```cpp +--8<-- "integration/example.cpp" +``` + +## Homebrew + +If you are using OS X and [Homebrew](http://brew.sh), just type + +```sh +brew tap nlohmann/json +brew install nlohmann_json +``` + +and you're set. If you want the bleeding edge rather than the latest release, use + +```sh +brew tap nlohmann/json +brew install nlohmann_json --HEAD +``` + +instead. + +!!! example + + 1. Create the following file: + + === "example.cpp" + + ```cpp + --8<-- "integration/example.cpp" + ``` + + 2. Install the package + + ```sh + brew tap nlohmann/json + brew install nlohmann_json + ``` + + 3. Determine the include path, which defaults to `/usr/local/Cellar/nlohmann_json/$version/include`, where `$version` is the version of the library, e.g. `3.7.3`. The path of the library can be determined with + + ```sh + brew list nlohmann_json + ``` + + 4. Compile the code. For instance, the code can be compiled using Clang with + + ```sh + clang++ example.cpp -I/usr/local/Cellar/nlohmann_json/3.7.3/include -std=c++11 -o example + ``` + +## Meson + +If you are using the [Meson Build System](http://mesonbuild.com), add this source tree as a [meson subproject](https://mesonbuild.com/Subprojects.html#using-a-subproject). You may also use the `include.zip` published in this project's [Releases](https://github.com/nlohmann/json/releases) to reduce the size of the vendored source tree. Alternatively, you can get a wrap file by downloading it from [Meson WrapDB](https://wrapdb.mesonbuild.com/nlohmann_json), or simply use `meson wrap install nlohmann_json`. Please see the meson project for any issues regarding the packaging. + +The provided meson.build can also be used as an alternative to cmake for installing `nlohmann_json` system-wide in which case a pkg-config file is installed. To use it, simply have your build system require the `nlohmann_json` pkg-config dependency. In Meson, it is preferred to use the [`dependency()`](https://mesonbuild.com/Reference-manual.html#dependency) object with a subproject fallback, rather than using the subproject directly. + +## Conan + +If you are using [Conan](https://www.conan.io/) to manage your dependencies, merely add `nlohmann_json/x.y.z` to your `conanfile`'s requires, where `x.y.z` is the release version you want to use. Please file issues [here](https://github.com/conan-io/conan-center-index/issues) if you experience problems with the packages. + +!!! example + + 1. Create the following files: + + === "Conanfile.txt" + + ```ini + --8<-- "integration/conan/Conanfile.txt" + ``` + + === "CMakeLists.txt" + + ```cmake + --8<-- "integration/conan/CMakeLists.txt" + ``` + + === "example.cpp" + + ```cpp + --8<-- "integration/conan/example.cpp" + ``` + + + 2. Build: + + ```sh + mkdir build + cd build + conan install .. + cmake .. + cmake --build . + ``` + +## Spack + +If you are using [Spack](https://www.spack.io/) to manage your dependencies, you can use the [`nlohmann-json` package](https://spack.readthedocs.io/en/latest/package_list.html#nlohmann-json). Please see the [spack project](https://github.com/spack/spack) for any issues regarding the packaging. + +## Hunter + +If you are using [hunter](https://github.com/cpp-pm/hunter) on your project for external dependencies, then you can use the [nlohmann_json package](https://hunter.readthedocs.io/en/latest/packages/pkg/nlohmann_json.html). Please see the hunter project for any issues regarding the packaging. + +## Buckaroo + +If you are using [Buckaroo](https://buckaroo.pm), you can install this library's module with `buckaroo add github.com/buckaroo-pm/nlohmann-json`. Please file issues [here](https://github.com/buckaroo-pm/nlohmann-json). There is a demo repo [here](https://github.com/njlr/buckaroo-nholmann-json-example). + +## vcpkg + +If you are using [vcpkg](https://github.com/Microsoft/vcpkg/) on your project for external dependencies, then you can use the [nlohmann-json package](https://github.com/Microsoft/vcpkg/tree/master/ports/nlohmann-json). Please see the vcpkg project for any issues regarding the packaging. + +## cget + +If you are using [cget](http://cget.readthedocs.io/en/latest/), you can install the latest development version with `cget install nlohmann/json`. A specific version can be installed with `cget install nlohmann/json@v3.1.0`. Also, the multiple header version can be installed by adding the `-DJSON_MultipleHeaders=ON` flag (i.e., `cget install nlohmann/json -DJSON_MultipleHeaders=ON`). + + +## CocoaPods + +If you are using [CocoaPods](https://cocoapods.org), you can use the library by adding pod `"nlohmann_json", '~>3.1.2'` to your podfile (see [an example](https://bitbucket.org/benman/nlohmann_json-cocoapod/src/master/)). Please file issues [here](https://bitbucket.org/benman/nlohmann_json-cocoapod/issues?status=new&status=open). + +## NuGet + +If you are using [NuGet](https://www.nuget.org), you can use the package [nlohmann.json](https://www.nuget.org/packages/nlohmann.json/). Please check [this extensive description](https://github.com/nlohmann/json/issues/1132#issuecomment-452250255) on how to use the package. Please files issues [here](https://github.com/hnkb/nlohmann-json-nuget/issues). + +## Conda + +If you are using [conda](https://conda.io/), you can use the package [nlohmann_json](https://github.com/conda-forge/nlohmann_json-feedstock) from [conda-forge](https://conda-forge.org) executing `conda install -c conda-forge nlohmann_json`. Please file issues [here](https://github.com/conda-forge/nlohmann_json-feedstock/issues). + +## MSYS2 + +If you are using [MSYS2](http://www.msys2.org/), your can use the [mingw-w64-nlohmann-json](https://packages.msys2.org/base/mingw-w64-nlohmann-json) package, just type `pacman -S mingw-w64-i686-nlohmann-json` or `pacman -S mingw-w64-x86_64-nlohmann-json` for installation. Please file issues [here](https://github.com/msys2/MINGW-packages/issues/new?title=%5Bnlohmann-json%5D) if you experience problems with the packages. + +## build2 + +If you are using [`build2`](https://build2.org), you can use the [`nlohmann-json`](https://cppget.org/nlohmann-json) package from the public repository http://cppget.org or directly from the [package's sources repository](https://github.com/build2-packaging/nlohmann-json). In your project's `manifest` file, just add `depends: nlohmann-json` (probably with some [version constraints](https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml#guide-add-remove-deps)). If you are not familiar with using dependencies in `build2`, [please read this introduction](https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml). +Please file issues [here](https://github.com/build2-packaging/nlohmann-json) if you experience problems with the packages. + +## wsjcpp + +If you are using [`wsjcpp`](http://wsjcpp.org), you can use the command `wsjcpp install "https://github.com/nlohmann/json:develop"` to get the latest version. Note you can change the branch ":develop" to an existing tag or another branch. diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml new file mode 100644 index 00000000..28cd308c --- /dev/null +++ b/doc/mkdocs/mkdocs.yml @@ -0,0 +1,106 @@ +# Project information +site_name: JSON for Modern C++ +site_author: Niels Lohmann +site_url: https://squidfunk.github.io/mkdocs-material/ + +# Repository +repo_name: nlohmann/json +repo_url: https://github.com/nlohmann/json +edit_uri: edit/develop/doc/mkdocs/docs + +# Copyright +copyright: Copyright © 2013 - 2020 Niels Lohmann + +# Configuration +theme: + name: material + language: en + palette: + primary: indigo + accent: indigo + font: + text: Roboto + code: Roboto Mono + features: + - tabs + - instant + +nav: + - Home: + - index.md + - home/license.md + - "Code of Conduct": home/code_of_conduct.md + - "FAQ": home/faq.md + - home/exceptions.md + - home/design_goals.md + - home/sponsors.md + - Features: + - features/arbitrary_types.md + - Binary Formats: + - features/binary_formats/index.md + - features/binary_formats/bson.md + - features/binary_formats/cbor.md + - features/binary_formats/messagepack.md + - features/binary_formats/ubjson.md + - features/binary_values.md + - features/json_pointer.md + - features/json_patch.md + - features/merge_patch.md + - features/enum_conversion.md + - features/sax_interface.md + - Integration: + - integration/index.md + - integration/cmake.md + - integration/package_managers.md + - Doxygen: + - doxygen/index.html + +# Extras +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/nlohmann + - icon: fontawesome/brands/twitter + link: https://twitter.com/nlohmann + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/in/nielslohmann/ + - icon: fontawesome/brands/xing + link: https://www.xing.com/profile/Niels_Lohmann + - icon: fontawesome/brands/paypal + link: https://www.paypal.me/nlohmann + +# Extensions +markdown_extensions: + - admonition + - codehilite: + guess_lang: false + - toc: + permalink: true + - pymdownx.arithmatex + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.critic + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.inlinehilite + - pymdownx.magiclink + - pymdownx.mark + #- pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tabbed + - pymdownx.tilde + - pymdownx.snippets: + base_path: docs + check_paths: true + +plugins: + - search: + separator: '[\s\-\.]+' + - mkdocs-simple-hooks: + hooks: + on_post_build: "docs.hooks:copy_doxygen" diff --git a/doc/mkdocs/requirements.txt b/doc/mkdocs/requirements.txt new file mode 100644 index 00000000..72a03a9a --- /dev/null +++ b/doc/mkdocs/requirements.txt @@ -0,0 +1,23 @@ +click>=7.1.2 +future>=0.18.2 +importlib-metadata>=1.6.0 +Jinja2>=2.11.2 +joblib>=0.15.1 +livereload>=2.6.1 +lunr>=0.5.8 +Markdown>=3.2.2 +markdown-include>=0.5.1 +MarkupSafe>=1.1.1 +mkdocs>=1.1.2 +mkdocs-material>=5.2.1 +mkdocs-material-extensions>=1.0 +mkdocs-simple-hooks>=0.1.1 +nltk>=3.5 +Pygments>=2.6.1 +pymdown-extensions>=7.1 +PyYAML>=5.3.1 +regex>=2020.5.14 +six>=1.15.0 +tornado>=6.0.4 +tqdm>=4.46.0 +zipp>=3.1.0 From 3400af21cd066df7dacc4f3bcbdc45747a5aaa13 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 24 May 2020 13:40:43 +0200 Subject: [PATCH 02/73] :memo: add release page --- .gitignore | 1 + doc/mkdocs/Makefile | 17 +- doc/mkdocs/docs/home/releases.md | 1225 ++++++++++++++++++++++++++++++ doc/mkdocs/mkdocs.yml | 1 + 4 files changed, 1239 insertions(+), 5 deletions(-) create mode 100644 doc/mkdocs/docs/home/releases.md diff --git a/.gitignore b/.gitignore index d91f1de6..2c6c1e15 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ test/test-* doc/mkdocs/venv/ doc/mkdocs/docs/images doc/mkdocs/docs/examples +doc/mkdocs/site diff --git a/doc/mkdocs/Makefile b/doc/mkdocs/Makefile index a80b8e66..68b1e119 100644 --- a/doc/mkdocs/Makefile +++ b/doc/mkdocs/Makefile @@ -1,11 +1,11 @@ +# serve the site locally serve: prepare_files venv/bin/mkdocs serve -prepare_files: +# create files that are not versioned inside the mkdocs folder +prepare_files: clean # build Doxygen $(MAKE) -C .. - # clean subfolders - rm -fr docs/images docs/examples # create subfolders mkdir docs/images docs/examples # copy images @@ -13,12 +13,19 @@ prepare_files: # copy examples cp -vr ../examples/*.cpp ../examples/*.output docs/examples +# clean subfolders +clean: + rm -fr docs/images docs/examples + +# publish site to GitHub pages publish: prepare_files venv/bin/mkdocs gh-deploy --clean --force -install_venv: +# install a Python virtual environment +install_venv: requirements.txt python3 -mvenv venv venv/bin/pip install -r requirements.txt -uninstall_venv: +# uninstall the virtual environment +uninstall_venv: clean rm -fr venv diff --git a/doc/mkdocs/docs/home/releases.md b/doc/mkdocs/docs/home/releases.md new file mode 100644 index 00000000..0cb890b0 --- /dev/null +++ b/doc/mkdocs/docs/home/releases.md @@ -0,0 +1,1225 @@ +# Releases + +## v3.7.3 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip) (274 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.7.3/json.hpp) (791 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.7.3/json.hpp.asc) (1 KB) + +Release date: 2019-11-17 +SHA-256: 3b5d2b8f8282b80557091514d8ab97e27f9574336c804ee666fda673a9b59926 (json.hpp), 87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014 (include.zip) + +### Summary + +This release fixes a bug introduced in release 3.7.2 which could yield quadratic complexity in destructor calls. All changes are backward-compatible. + +### :bug: Bug Fixes + +- Removed `reserve()` calls from the destructor which could lead to quadratic complexity. #1837 #1838 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + + +## v3.7.2 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.7.2/include.zip) (274 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.7.2/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.7.2/json.hpp) (791 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.7.2/json.hpp.asc) (1 KB) + +Release date: 2019-11-10 +SHA-256: 0a65fcbbe1b334d3f45c9498e5ee28c3f3b2428aea98557da4a3ff12f0f14ad6 (json.hpp), 67f69c9a93b7fa0612dc1b6273119d2c560317333581845f358aaa68bff8f087 (include.zip) + +### Summary + +Project [bad_json_parsers](https://github.com/lovasoa/bad_json_parsers) tested how JSON parser libraries react on **deeply nested inputs**. It turns out that this library segfaulted at a certain nesting depth. This bug was fixed with this release. **Now the parsing is only bounded by the available memory.** All changes are backward-compatible. + +### :bug: Bug Fixes + +* Fixed a bug that lead to stack overflow for deeply nested JSON values (objects, array) by changing the implementation of the destructor from a recursive to an iterative approach. #832, #1419, #1835 + +### :hammer: Further Changes + +* Added WhiteStone Bolt. #1830 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.7.1 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.7.1/include.zip) (273 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.7.1/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.7.1/json.hpp) (789 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.7.1/json.hpp.asc) (1 KB) + +Release date: 2019-11-06 +SHA-256: b5ba7228f3c22a882d379e93d08eab4349458ee16fbf45291347994eac7dc7ce (json.hpp), 77b9f54b34e7989e6f402afb516f7ff2830df551c3a36973085e2c7a6b1045fe (include.zip) + +### Summary + +This release fixes several small bugs in the library. All changes are backward-compatible. + +### :bug: Bug Fixes + +- Fixed a segmentation fault when serializing `std::int64_t` minimum value. #1708 #1722 +- Fixed the [`contains()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_ab23b04802eb9da97dc3f664e54e09cb3.html#ab23b04802eb9da97dc3f664e54e09cb3) function for JSON Pointers. #1727 #1741 +- Fixed too lax SFINAE guard for conversion from `std::pair` and `std::tuple` to `json`. #1805 #1806 #1825 #1826 +- Fixed some regressions detected by UBSAN. Updated CI to use Clang-Tidy 7.1.0. #1716 #1728 +- Fixed integer truncation in `iteration_proxy`. #1797 +- Updated [Hedley](https://github.com/nemequ/hedley) to v11 to [fix a E2512 error](https://github.com/nemequ/hedley/issues/28) in MSVC. #1799 +- Fixed a compile error in enum deserialization of non non-default-constructible types. #1647 #1821 +- Fixed the conversion from `json` to `std::valarray`. + +### :zap: Improvements + +- The [`items()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) function can now be used with a custom string type. #1765 +- Made [`json_pointer::back`](https://nlohmann.github.io/json/classnlohmann_1_1json__pointer_a213bc67c32a30c68ac6bf06f5195d482.html#a213bc67c32a30c68ac6bf06f5195d482) `const`. #1764 #1769 +- Meson is part of the release archive. #1672 #1694 +- Improved documentation on the Meson and Spack package manager. #1694 #1720 + +### :hammer: Further Changes + +- Added GitHub Workflow with `ubuntu-latest`/GCC 7.4.0 as CI step. +- Added GCC 9 to Travis CI to compile with C++20 support. #1724 +- Added MSVC 2019 to the AppVeyor CI. #1780 +- Added badge to [fuzzing status](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:json). +- Fixed some cppcheck warnings. #1760 +- Fixed several typos in the documentation. #1720 #1767 #1803 +- Added documentation on the `JSON_THROW_USER`, `JSON_TRY_USER`, and `JSON_CATCH_USER` macros to control user-defined exception handling. +- Used GitHub's [CODEOWNERS](https://github.com/nlohmann/json/blob/develop/.github/CODEOWNERS) and [SECURITY](https://github.com/nlohmann/json/blob/develop/.github/SECURITY.md) feature. +- Removed `GLOB` from CMake files. #1779 +- Updated to [Doctest](https://github.com/onqtam/doctest) 2.3.5. + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.7.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.7.0/include.zip) (143 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.7.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.7.0/json.hpp) (782 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.7.0/json.hpp.asc) (1 KB) + +Release date: 2019-07-28 +SHA-256: a503214947952b69f0062f572cb74c17582a495767446347ce2e452963fc2ca4 (json.hpp), 541c34438fd54182e9cdc68dd20c898d766713ad6d901fb2c6e28ff1f1e7c10d (include.zip) + +### Summary + +This release introduces a few convenience functions and performs a lot of house keeping (bug fixes and small improvements). All changes are backward-compatible. + +### :sparkles: New Features + +- Add overload of the **[`contains`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab23b04802eb9da97dc3f664e54e09cb3.html#ab23b04802eb9da97dc3f664e54e09cb3) function** to check if a JSON pointer is valid without throwing exceptions, just like its [counterpart for object keys](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9286acdc0578fc66e9346323e69fc0e3.html#a9286acdc0578fc66e9346323e69fc0e3). #1600 +- Add a function **[`to_string`](http://nlohmann.github.io/json/doxygen/namespacenlohmann_a6ce645a0b8717757e096a5b5773b7a16.html#a6ce645a0b8717757e096a5b5773b7a16)** to allow for generic conversion to strings. #916 #1585 +- Add **return value for the [`emplace_back`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_abf29131f898b05aad2c01a9c80e7a002.html#abf29131f898b05aad2c01a9c80e7a002) function**, returning a reference to the added element just like C++17 is [introducing this](https://en.cppreference.com/w/cpp/container/vector/emplace_back) for `std::vector`. #1609 +- Add info how to use the library with the **[pacman](https://wiki.archlinux.org/index.php/pacman) package manager** on MSYS2. #1670 + +### :bug: Bug Fixes + +- Fix an issue where typedefs with certain names yielded a compilation error. #1642 #1643 +- Fix a conversion to `std::string_view` in the unit tests. #1634 #1639 +- Fix MSVC Debug build. #1536 #1570 #1608 +- Fix [`get_to`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a65753c68f06639eda0d355f919564e01.html#a65753c68f06639eda0d355f919564e01) method to clear existing content before writing. #1511 #1555 +- Fix a `-Wc++17-extensions` warning. `nodiscard` attributes are now only used with Clang when `-std=c++17` is used. #1535 #1551 + +### :zap: Improvements + +- Switch from [Catch](https://github.com/philsquared/Catch) to **[doctest](https://github.com/onqtam/doctest)** for the unit tests which speeds up compilation and runtime of the 112,112,308 tests. +- Add an explicit section to the [README](https://github.com/nlohmann/json/blob/develop/README.md) about the **frequently addressed topics** [character encoding](https://github.com/nlohmann/json#character-encoding), [comments in JSON](https://github.com/nlohmann/json#comments-in-json), and the [order of object keys](https://github.com/nlohmann/json#order-of-object-keys). + +### :hammer: Further Changes + +- Use [`GNUInstallDirs`](https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html) to set library install directories. #1673 +- Fix links in the [README](https://github.com/nlohmann/json/blob/develop/README.md). #1620 #1621 #1622 #1623 #1625 +- Mention [`json` type](http://nlohmann.github.io/json/doxygen/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474) on the [documentation start page](http://nlohmann.github.io/json/doxygen/index.html). #1616 +- Complete documentation of [`value()` function](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_adcf8ca5079f5db993820bf50036bf45d.html#adcf8ca5079f5db993820bf50036bf45d) with respect to `type_error.302` exception. #1601 +- Fix links in the documentation. #1598 +- Add regression tests for MSVC. #1543 #1570 +- Use **[CircleCI](http://circleci.com)** for [continuous integration](https://circleci.com/gh/nlohmann/json). +- Use **[Doozer](https://doozer.io)** for [continuous integration](https://doozer.io/nlohmann/json) on Linux (CentOS, Raspbian, Fedora) +- Add tests to check each CMake flag (`JSON_BuildTests`, `JSON_Install`, `JSON_MultipleHeaders`, `JSON_Sanitizer`, `JSON_Valgrind`, `JSON_NoExceptions`, `JSON_Coverage`). +- Use [Hedley](https://nemequ.github.io/hedley/) to avoid re-inventing several compiler-agnostic feature macros like `JSON_DEPRECATED`, `JSON_NODISCARD`, `JSON_LIKELY`, `JSON_UNLIKELY`, `JSON_HAS_CPP_14`, or `JSON_HAS_CPP_17`. Functions taking or returning pointers are annotated accordingly when a pointer will not be null. +- Build and run tests on [AppVeyor](https://ci.appveyor.com/project/nlohmann/json) in DEBUG and RELEASE mode. + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.6.1 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.6.1/include.zip) (136 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.6.1/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.6.1/json.hpp) (711 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.6.1/json.hpp.asc) (1 KB) + +Release date: 2019-03-20 +SHA-256: d2eeb25d2e95bffeb08ebb7704cdffd2e8fca7113eba9a0b38d60a5c391ea09a (json.hpp), 69cc88207ce91347ea530b227ff0776db82dcb8de6704e1a3d74f4841bc651cf (include.zip) + +### Summary + +This release **fixes a regression and a bug** introduced by the earlier 3.6.0 release. All changes are backward-compatible. + +### :bug: Bug Fixes + +- Fixed regression of #590 which could lead to compilation errors with GCC 7 and GCC 8. #1530 +- Fixed a compilation error when `` was included. #1531 + +### :hammer: Further Changes + +- Fixed a warning for missing field initializers. #1527 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.6.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.6.0/include.zip) (136 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.6.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.6.0/json.hpp) (711 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.6.0/json.hpp.asc) (1 KB) + +Release date: 2019-03-20 +SHA-256: ce9839370f28094c71107c405affb3b08c4a098154988014cbb0800b1c44a831 (json.hpp), 237c5e66e7f8186a02804ce9dbd5f69ce89fe7424ef84adf6142e973bd9532f4 (include.zip) + +ℹ️ **This release introduced a regression. Please update to [version 3.6.1](https://github.com/nlohmann/json/releases/tag/v3.6.1)!** + +### Summary + +This release adds some **convenience functions for JSON Pointers**, introduces a [`contains`]( +http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a45fc740637123fdf05fef970f8be47.html#a0a45fc740637123fdf05fef970f8be47) function to check if a key is present in an object, and improves the **performance of integer serialization**. Furthermore, a lot of small bug fixes and improvements have been made. All changes are backward-compatible. + +### :sparkles: New Features + +- Overworked the public interface for JSON Pointers. The creation of JSON Pointers is simplified with [`operator/`]( +http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a90a11fe6c7f37b1746a3ff9cb24b0d53.html#a90a11fe6c7f37b1746a3ff9cb24b0d53) and [`operator/=`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a7395bd0af29ac23fd3f21543c935cdfa.html#a7395bd0af29ac23fd3f21543c935cdfa). JSON Pointers can be inspected with [`empty`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a649252bda4a2e75a0915b11a25d8bcc3.html#a649252bda4a2e75a0915b11a25d8bcc3), [`back`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a6bd5b554c10f15672135c216893eef31.html#a6bd5b554c10f15672135c216893eef31), and [`parent_pointer`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_afdaacce1edb7145e0434e014f0e8685a.html#afdaacce1edb7145e0434e014f0e8685a), and manipulated with [`push_back`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a697d12b5bd6205f8866691b166b7c7dc.html#a697d12b5bd6205f8866691b166b7c7dc) and [`pop_back`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1json__pointer_a4b1ee4d511ca195bed896a3da47e264c.html#a4b1ee4d511ca195bed896a3da47e264c). #1434 +- Added a boolean method [`contains`]( +http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a45fc740637123fdf05fef970f8be47.html#a0a45fc740637123fdf05fef970f8be47) to check whether an element exists in a JSON object with a given key. Returns false when called on non-object types. #1471 #1474 + +### :bug: Bug Fixes + +- Fixed a compilation issues with libc 2.12. #1483 #1514 +- Fixed endian conversion on PPC64. #1489 +- Fixed library to compile with GCC 9. #1472 #1492 +- Fixed a compilation issue with GCC 7 on CentOS. #1496 +- Fixed an integer overflow. #1447 +- Fixed buffer flushing in serializer. #1445 #1446 + +### :zap: Improvements + +- The performance of dumping integers has been greatly improved. #1411 +- Added CMake parameter `JSON_Install` to control whether the library should be installed (default: on). #1330 +- Fixed a lot of compiler and linter warnings. #1400 #1435 #1502 +- Reduced required CMake version from 3.8 to 3.1. #1409 #1428 #1441 #1498 +- Added `nodiscard` attribute to `meta()`, `array()`, `object()`, `from_cbor`, `from_msgpack`, `from_ubjson`, `from_bson`, and `parse`. #1433 + +### :hammer: Further Changes + +- Added missing headers. #1500 +- Fixed typos and broken links in README. #1417 #1423 #1425 #1451 #1455 #1491 +- Fixed documentation of parse function. #1473 +- Suppressed warning that cannot be fixed inside the library. #1401 #1468 +- Imroved package manager suppert: + - Updated Buckaroo instructions. #1495 + - Improved Meson support. #1463 + - Added Conda package manager documentation. #1430 + - Added NuGet package manager documentation. #1132 +- Continuous Integration + - Removed unstable or deprecated Travis builders (Xcode 6.4 - 8.2) and added Xcode 10.1 builder. + - Added Clang 7 to Travis CI. + - Fixed AppVeyor x64 builds. #1374 #1414 +- Updated thirdparty libraries: + - Catch 1.12.0 -> 1.12.2 + - Google Benchmark 1.3.0 -> 1.4.1 + - Doxygen 1.8.15 -> 1.8.16 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.5.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.5.0/include.zip) (133 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.5.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.5.0/json.hpp) (693 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.5.0/json.hpp.asc) (1 KB) + +Release date: 2018-12-22 +SHA-256: 8a6dbf3bf01156f438d0ca7e78c2971bca50eec4ca6f0cf59adf3464c43bb9d5 (json.hpp), 3564da9c5b0cf2e032f97c69baedf10ddbc98030c337d0327a215ea72259ea21 (include.zip) + +### Summary + +This release introduces the support for **structured bindings** and reading from **`FILE*`**. Besides, a few bugs have been fixed. All changes are backward-compatible. + +### :sparkles: New Features + +- **Structured bindings** are now supported for JSON objects and arrays via the [`items()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) member function, so finally this code is possible: + ```cpp + for (auto& [key, val] : j.items()) { + std::cout << key << ':' << val << '\n'; + } + ``` + #1388 #1391 + +- Added support for **reading from `FILE*`** to support situations in which streams are nit available or would require too much RAM. #1370 #1392 + +### :bug: Bug Fixes + +- The `eofbit` was not set for input streams when the end of a stream was reached while parsing. #1340 #1343 +- Fixed a bug in the SAX parser for BSON arrays. + +### :zap: Improvements + +- Added support for Clang 5.0.1 (PS4 version). #1341 #1342 + +### :hammer: Further Changes + +- Added a warning for implicit conversions to the documentation: It is not recommended to use implicit conversions when reading **from** a JSON value. Details about this recommendation can be found [here](https://www.github.com/nlohmann/json/issues/958). #1363 +- Fixed typos in the documentation. #1329 #1380 #1382 +- Fixed a C4800 warning. #1364 +- Fixed a `-Wshadow` warning #1346 +- Wrapped `std::snprintf` calls to avoid error in MSVC. #1337 +- Added code to allow installation via Meson. #1345 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.4.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.4.0/include.zip) (132 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.4.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.4.0/json.hpp) (689 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.4.0/json.hpp.asc) (1 KB) + +Release date: 2018-10-30 +SHA-256: 63da6d1f22b2a7bb9e4ff7d6b255cf691a161ff49532dcc45d398a53e295835f (json.hpp), bfec46fc0cee01c509cf064d2254517e7fa80d1e7647fea37cf81d97c5682bdc (include.zip) + +### Summary + +This release introduces three new features: + +- **BSON (Binary JSON)** is next to CBOR, MessagePack, and UBJSON the fourth binary (de)serialization format supported by the library. +- **Adjustable error handlers for invalid Unicode** allows to specify the behavior when invalid byte sequences are serialized. +- **Simplified enum/JSON mapping** with a macro in case the default mapping to integers is not desired. + +Furthermore, some effort has been invested in improving the **parse error messages**. Besides, a few bugs have been fixed. All changes are backward-compatible. + +### :sparkles: New Features + +- The library can read and write a subset of **[BSON](http://bsonspec.org/) (Binary JSON)**. All data types known from JSON are supported, whereas other types more tied to MongoDB such as timestamps, object ids, or binary data are currently not implemented. See [the README](https://github.com/nlohmann/json#binary-formats-bson-cbor-messagepack-and-ubjson) for examples. #1244 #1320 +- The behavior when the library encounters an invalid Unicode sequence during serialization can now be controlled by defining one of three **Unicode error handlers**: (1) throw an exception (default behavior), (2) replace invalid sequences by the Unicode replacement character (U+FFFD), or (3) ignore/filter invalid sequences. See the [documentation of the `dump` function](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a50ec80b02d0f3f51130d4abb5d1cfdc5.html#a50ec80b02d0f3f51130d4abb5d1cfdc5) for examples. #1198 #1314 +- To easily specify a user-defined **enum/JSON mapping**, a macro `NLOHMANN_JSON_SERIALIZE_ENUM` has been introduced. See the [README section](https://github.com/nlohmann/json#specializing-enum-conversion) for more information. #1208 #1323 + +### :bug: Bug Fixes + +- fixed truncation #1286 #1315 +- fixed an issue with std::pair #1299 #1301 +- fixed an issue with std::variant #1292 #1294 +- fixed a bug in the JSON Pointer parser + +### :zap: Improvements + +- The **diagnosis messages for parse errors** have been improved: error messages now indicated line/column positions where possible (in addition to a byte count) and also the context in which the error occurred (e.g., "while parsing a JSON string"). Example: error `parse error at 2: syntax error - invalid string: control character must be escaped; last read: ''` is now reported as `parse error at line 1, column 2: syntax error while parsing value - invalid string: control character U+0009 (HT) must be escaped to \u0009 or \t; last read: ''`. #1280 #1288 #1303 + +### :hammer: Further Changes + +- improved Meson documentation #1305 +- fixed some more linter warnings #1280 +- fixed Clang detection for third-party Google Benchmark library #1277 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.3.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.3.0/include.zip) (123 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.3.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.3.0/json.hpp) (635 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.3.0/json.hpp.asc) (1 KB) + +Release date: 2018-10-05 +SHA-256: f1327bb60c58757a3dd2b0c9c45d49503d571337681d950ec621f8374bcc14d4 (json.hpp), 9588d63557333aaa485e92221ec38014a85a6134e7486fe3441e0541a5a89576 (include.zip) + +### Summary + +This release adds support for **GCC 4.8**. Furthermore, it adds a function [**`get_to`**](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a8a3db7d78f74232d3a6fb8f1abf69709.html#a8a3db7d78f74232d3a6fb8f1abf69709) to write a JSON value to a passed reference. Another topic of this release was the **CMake support** which has been overworked and documented. + +Besides, a lot of bugs have been fixed and slight improvements have been made. All changes are backward-compatible. + +### :sparkles: New Features + +- The library can now also built with **GCC 4.8**. Though this compiler does not fully support C++11, it can successfully compile and run the test suite. Note that bug [57824](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57824) in GCC 4.8 still forbids to use multiline raw strings in arguments to macros. #1257 +- Added new function [**`get_to`**](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a8a3db7d78f74232d3a6fb8f1abf69709.html#a8a3db7d78f74232d3a6fb8f1abf69709) to write a JSON value to a passed reference. The destination type is automatically derived which allows more succinct code compared to the `get` function. #1227 #1231 + +### :bug: Bug Fixes + +- Fixed a bug in the CMake file that made `target_link_libraries` to not properly include `nlohmann_json`. #1243 #1245 #1260 +- Fixed a warning in MSVC 2017 complaining about a constexpr if. #1204 #1268 #1272 +- Fixed a bug that prevented compilation with ICPC. #755 #1222 +- Improved the SFINAE correctness to fix a bug in the conversion operator. #1237 #1238 +- Fixed a `-Wctor-dtor-privacy` warning. #1224 +- Fixed a warning on a lambda in unevaluated context. #1225 #1230 +- Fixed a bug introduced in version 3.2.0 where defining `JSON_CATCH_USER` led to duplicate macro definition of `JSON_INTERNAL_CATCH`. #1213 #1214 +- Fixed a bug that prevented compilation with Clang 3.4.2 in RHEL 7. #1179 #1249 + +### :zap: Improvements + +- Added [documentation on CMake integration](https://github.com/nlohmann/json#cmake) of the library. #1270 +- Changed the CMake file to use `find_package(nlohmann_json)` without installing the library. #1202 +- Improved error messages in case `operator[]` is used with the wrong combination (json.exception.type_error.305) of JSON container type and argument type. Example: "cannot use operator[] with a string argument". #1220 #1221 +- Added a license and version information to the Meson build file. #1252 +- Removed static assertions to indicated missing `to_json` or `from_json` functions as such assertions do not play well with SFINAE. These assertions also led to problems with GMock. #960 #1212 #1228 +- The test suite now does not wait forever if run in a wrong directory and input files are not found. #1262 +- The test suite does not show deprecation warnings for deprecated functions which frequently led to confusion. #1271 + +### :hammer: Further Changes + +- GCC 4.8 and Xcode 10 were added to the [continuous integration suite](https://travis-ci.org/nlohmann/json) at Travis. +- Added [lgtm](https://lgtm.com/projects/g/nlohmann/json/context:cpp) checks to pull requests. +- Added tests for CMake integration. #1260 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + + +## v3.2.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.2.0/include.zip) (124 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.2.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.2.0/json.hpp) (636 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.2.0/json.hpp.asc) (1 KB) + +Release date: 2018-08-20 +SHA-256: ce6b5610a051ec6795fa11c33854abebb086f0fd67c311f5921c3c07f9531b44 (json.hpp), 35ee642558b90e2f9bc758995c4788c4b4d4dec54eef95fb8f38cb4d49c8fc7c (include.zip) + +### Summary + +This release introduces a [**SAX interface**](https://nlohmann.github.io/json/structnlohmann_1_1json__sax.html) to the library. While this may be a very special feature used by only few people, it allowed to unify all functions that consumed input and created some kind of JSON value. Internally, now all existing functions like `parse`, `accept`, `from_cbor`, `from_msgpack`, and `from_ubjson` use the SAX interface with different event processors. This allowed to separate the input processing from the value generation. Furthermore, throwing an exception in case of a parse error is now optional and up to the event processor. Finally, the JSON parser is now non-recursive (meaning it does not use the call stack, but `std::vector` to track the hierarchy of structured values) which allows to process nested input more efficiently. + +Furthermore, the library finally is able to parse from **wide string types**. This is the first step toward opening the library from UTF-8 to UTF-16 and UTF-32. + +This release further fixes several bugs in the library. All changes are backward-compatible. + +### :sparkles: New Features + +- added a parser with a **SAX interface** (#971, #1153) +- support to parse from **wide string types** `std::wstring`, `std::u16string`, and `std::u32string`; the input will be converted to UTF-8 (#1031) +- added support for **`std::string_view`** when using C++17 (#1028) +- allow to **roundtrip `std::map` and `std::unordered_map`** from JSON if key type is not convertible to string; in these cases, values are serialized to arrays of pairs (#1079, #1089, #1133, #1138) + +### :bug: Bug Fixes + +- allow to create `nullptr_t` from JSON allowing to properly roundtrip `null` values (#1169) +- allow compare user-defined string types (#1130) +- better support for algorithms using iterators from `items()` (#1045, #1134) +- added parameter to avoid compilation error with MSVC 2015 debug builds (#1114) +- re-added accidentially skipped unit tests (#1176) +- fixed MSVC issue with `std::swap` (#1168) + +### :zap: Improvements + +- `key()` function for iterators returns a const reference rather than a string copy (#1098) +- binary formats CBOR, MessagePack, and UBJSON now supports `float` as type for floating-point numbers (#1021) + +### :hammer: Further Changes + +- changed issue templates +- improved continuous integration: added builders for Xcode 9.3 and 9.4, added builders for GCC 8 and Clang 6, added builder for MinGW, added builders for MSVC targeting x86 +- required CMake version is now at least 3.8 (#1040) +- overworked CMake file wrt. packaging (#1048) +- added package managers: Spack (#1041) and CocoaPods (#1148) +- fixed Meson include directory (#1142) +- preprocessor macro `JSON_SKIP_UNSUPPORTED_COMPILER_CHECK` can skip the rejection of unsupported compilers - use at your own risk! (#1128) +- preprocessor macro `JSON_INTERNAL_CATCH`/`JSON_INTERNAL_CATCH_USER` allows to control the behavior of exception handling inside the library (#1187) +- added note on `char` to JSON conversion +- added note how to send security-related issue via encrypted email +- removed dependency to `std::stringstream` (#1117) +- added SPDX-License-Identifier +- added updated JSON Parsing Test Suite, described in [Parsing JSON is a Minefield 💣](http://seriot.ch/parsing_json.php) +- updated to Catch 1.12.0 + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + + + +## v3.1.2 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.1.2/include.zip) (115 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.1.2/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.1.2/json.hpp) (582 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.1.2/json.hpp.asc) (1 KB) + +Release date: 2018-03-14 +SHA-256: fbdfec4b4cf63b3b565d09f87e6c3c183bdd45c5be1864d3fcb338f6f02c1733 (json.hpp), 495362ee1b9d03d9526ba9ccf1b4a9c37691abe3a642ddbced13e5778c16660c (include.zip) + +### Summary + +This release fixes several bugs in the library. All changes are backward-compatible. + +### :bug: Bug Fixes + +- Fixed a **memory leak** occurring in the parser callback (#1001). +- Different **specializations of `basic_json`** (e.g., using different template arguments for strings or objects) can now be used in assignments (#972, #977, #986). +- Fixed a logical error in an iterator range check (#992). + +### :zap: Improvements + +- The parser and the serialization now support **user-defined string types** (#1006, #1009). + +### :hammer: Further Changes + +- **[Clang Analyzer](http://clang-analyzer.llvm.org)** is now used as additional static analyzer; see `make clang_analyze`. +- Overworked [README](https://github.com/nlohmann/json/blob/develop/README.md) by adding links to the [documentation](https://nlohmann.github.io/json/) (#981). + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + + +## v3.1.1 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.1.1/include.zip) (114 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.1.1/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.1.1/json.hpp) (577 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.1.1/json.hpp.asc) (1 KB) + +Release date: 2018-02-13 +SHA-256: e14ce5e33d6a2daf748026bd4947f3d9686ca4cfd53d10c3da46a0a9aceb7f2e (json.hpp), fde771d4b9e4f222965c00758a2bdd627d04fb7b59e09b7f3d1965abdc848505 (include.zip) + +### Summary + +This release fixes several bugs in the library. All changes are backward-compatible. + +### :bug: Bug Fixes + +- Fixed parsing of **CBOR strings with indefinite length** (#961). Earlier versions of this library misinterpreted the CBOR standard and rejected input with the `0x7F` start byte. +- Fixed user-defined **conversion to vector type** (#924, #969). A wrong SFINAE check rejected code though a user-defined conversion was provided. +- Fixed documentation of the parser behavior for **objects with duplicate keys** (#963). The exact behavior is not specified by [RFC 8259](https://tools.ietf.org/html/rfc8259) and the library now also provides no guarantee which object key is stored. +- Added check to detect memory **overflow when parsing UBJSON containers** (#962). The optimized UBJSON format allowed for specifying an array with billions of `null` elements with a few bytes and the library did not check whether this size exceeded `max_size()`. + +### :hammer: Further Changes + +- [Code coverage](https://coveralls.io/github/nlohmann/json) is now calculated for the individual header files, allowing to find uncovered lines more quickly than by browsing through the single header version (#953, #957). +- A Makefile target `run_benchmarks` was added to quickly build and run the benchmark suite. +- The documentation was harmonized with respect to the header inclusion (#955). Now all examples and the README use `#include ` to allow for selecting `single_include` or `include` or whatever installation folder as include directory. +- Added note on how to use the library with the [cget](http://cget.readthedocs.io/en/latest/) package manager (#954). + +### :fire: Deprecated functions + +This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) are deprecated. Please use the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) instead. +- Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.1.0 + +!!! summary "Files" + + - [include.zip](https://github.com/nlohmann/json/releases/download/v3.1.0/include.zip) (114 KB) + - [include.zip.asc](https://github.com/nlohmann/json/releases/download/v3.1.0/include.zip.asc) (1 KB) + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.1.0/json.hpp) (577 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.1.0/json.hpp.asc) (1 KB) + +Release date: 2018-02-01 +SHA-256: d40f614d10a6e4e4e80dca9463da905285f20e93116c36d97d4dc1aa63d10ba4 (json.hpp), 2b7234fca394d1e27b7e017117ed80b7518fafbb4f4c13a7c069624f6f924673 (include.zip) + +### Summary + +This release adds support for the [**UBJSON**](http://ubjson.org) format and [**JSON Merge Patch**](https://tools.ietf.org/html/rfc7386). It also contains some minor changes and bug fixes. All changes are backward-compatible. + +### :sparkles: New features + +- The library now supports [**UBJSON**](http://ubjson.org) (Universal Binary JSON Specification) as binary format to read and write JSON values space-efficiently. See the [documentation overview](https://github.com/nlohmann/json/blob/develop/doc/binary_formats.md) for a comparison of the different formats CBOR, MessagePack, and UBJSON. +- [**JSON Merge Patch**](https://tools.ietf.org/html/rfc7386) (RFC 7386) offers an intuitive means to describe patches between JSON values (#876, #877). See the documentation of [`merge_patch`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0ec0cd19cce42ae6071f3cc6870ea295.html#a0ec0cd19cce42ae6071f3cc6870ea295) for more information. + +### :zap: Improvements + +- The library now uses the **Grisu2 algorithm** for printing floating-point numbers (based on the reference implementation by Florian Loitsch) which produces a short representation which is guaranteed to round-trip (#360, #935, #936). +- The **UTF-8 handling** was further simplified by using the decoder of Björn Hoehrmann in more scenarios. + +### :truck: Reorganization + +- Though the library is released as a single header, its development got more and more complicated. With this release, the header is **split into several files** and the single-header file `json.hpp` can be generated from these development sources. In the repository, folder `include` contains the development sources and `single_include` contains the single `json.hpp` header (#700, #906, #907, #910, #911, #915, #920, #924, #925, #928, #944). +- The split further allowed for a **forward declaration header** `include/nlohmann/json_fwd.hpp` to speed up compilation times (#314). + +### :hammer: Further changes + +- [Google Benchmark](https://github.com/google/benchmark) is now used for micro benchmarks (see `benchmarks` folder, #921). +- The serialization (JSON and binary formats) now properly work with the libraries string template parameter, allowing for optimized string implementations to be used in constraint environments such as embedded software (#941, #950). +- The exceptional behavior can now be overridden by defining macros `JSON_THROW_USER`, `JSON_TRY_USER`, and `JSON_CATCH_USER`, defining the behavior of `throw`, `try` and `catch`, respectively. This allows to switch off C++'s exception mechanism yet still execute user-defined code in case an error condition occurs (#938). +- To facilitate the interplay with [flex](https://github.com/westes/flex) and [Bison](https://www.gnu.org/software/bison/), the library does not use the variable name `yytext` any more as it could clash with macro definitions (#933). +- The library now defines `NLOHMANN_JSON_VERSION_MAJOR`, `NLOHMANN_JSON_VERSION_MINOR`, and `NLOHMANN_JSON_VERSION_PATCH` to allow for conditional compilation based on the included library version (#943, #948). +- A compilation error with ICC has been fixed (#947). +- Typos and links in the documentation have been fixed (#900, #930). +- A compiler error related to incomplete types has been fixed (#919). +- The tests form the [UTF-8 decoder stress test](http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt) have been added to the test suite. + +### :fire: Deprecated functions + +- Function [`iterator_wrapper`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1592a06bc63811886ade4f9d965045e.html#af1592a06bc63811886ade4f9d965045e) has been deprecated (#874). Since its introduction, the name was up for discussion, as it was too technical. We now introduced the member function [`items()`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_afe3e137ace692efa08590d8df40f58dd.html#afe3e137ace692efa08590d8df40f58dd) with the same semantics. `iterator_wrapper` will be removed in the next major version (i.e., 4.0.0). + +Furthermore, the following functions are deprecated since version 3.0.0 and will be removed in the next major version (i.e., 4.0.0): + +- [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) +- [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) + +Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.0.1 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.0.1/json.hpp) (502 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.0.1/json.hpp.asc) (1 KB) + +Release date: 2017-12-29 +SHA-256: c9b3591f1bb94e723a0cd7be861733a3a555b234ef132be1e9027a0364118c4c + +### Summary + +This release fixes small issues in the implementation of **JSON Pointer** and **JSON Patch**. All changes are backward-compatible. + +### Changes + +- :bug: The **"copy" operation of JSON Patch** ([RFC 6902](https://tools.ietf.org/html/rfc6902)) requests that it is an error if the target path points into a non-existing array or object (see #894 for a detailed description). This release fixes the implementation to detect such invalid target paths and throw an exception. +- :bug: An **array index in a JSON Pointer** ([RFC 6901](https://tools.ietf.org/html/rfc6901)) must be an integer. This release fixes the implementation to throw an exception in case invalid array indices such as `10e2` are used. +- :white_check_mark: Added the [JSON Patch tests](https://github.com/json-patch/json-patch-tests) from Byron Ruth and Mike McCabe. +- :memo: Fixed the documentation of the [`at(ptr)` function with JSON Pointers](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a8ab61397c10f18b305520da7073b2b45.html#a8ab61397c10f18b305520da7073b2b45) to list all possible exceptions (see #888). +- :memo: Updated the [container overview documentation](https://nlohmann.github.io/json/) (see #883). +- :wrench: The CMake files now respect the [`BUILD_TESTING`](https://cmake.org/cmake/help/latest/module/CTest.html?highlight=build_testing) option (see #846, #885) +- :rotating_light: Fixed some compiler warnings (see #858, #882). + +### Deprecated functions + +:fire: To unify the interfaces and to improve similarity with the STL, the following functions are deprecated since version 3.0.0 and will be removed in the next major version (i.e., 4.0.0): + +- [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) +- [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) + +Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +## v3.0.0 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v3.0.0/json.hpp) (501 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v3.0.0/json.hpp.asc) (1 KB) + +Release date: 2017-12-17 +SHA-256: 076d4a0cb890a3c3d389c68421a11c3d77c64bd788e85d50f1b77ed252f2a462 + +### Summary + + + +After almost a year, here is finally a new release of JSON for Modern C++, and it is a major one! As we adhere to [semantic versioning](https://semver.org), this means the release includes some breaking changes, so please read the next section carefully before you update. But don't worry, we also added a few new features and put a lot of effort into fixing a lot of bugs and straighten out a few inconsistencies. + +### :boom: Breaking changes + +This section describes changes that change the public API of the library and may require changes in code using a previous version of the library. In section "Moving from 2.x.x to 3.0.0" at the end of the release notes, we describe in detail how existing code needs to be changed. + +- The library now uses [**user-defined exceptions**](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9a0aced019cb1d65bb49703406c84970.html#a9a0aced019cb1d65bb49703406c84970) instead of re-using those defined in `` (#244). This not only allows to add more information to the exceptions (every exception now has an identifier, and parse errors contain the position of the error), but also to easily catch all library exceptions with a single `catch(json::exception)`. +- When strings with a different encoding as UTF-8 were stored in JSON values, their serialization could not be parsed by the library itself, as only UTF-8 is supported. To enforce this library limitation and improve consistency, **non-UTF-8 encoded strings now yield a `json::type_error` exception during serialization** (#838). The check for valid UTF-8 is realized with code from [Björn Hoehrmann](http://bjoern.hoehrmann.de/). +- **NaN and infinity values can now be stored inside the JSON value** without throwing an exception. They are, however, still serialized as `null` (#388). +- The library's iterator tag was changed from RandomAccessIterator to **[BidirectionalIterator](http://en.cppreference.com/w/cpp/concept/BidirectionalIterator)** (#593). Supporting RandomAccessIterator was incorrect as it assumed an ordering of values in a JSON objects which are unordered by definition. +- The library does not include the standard headers ``, ``, and `` any more. You may need to add these headers to code relying on them. +- Removed constructor `explicit basic_json(std::istream& i, const parser_callback_t cb = nullptr)` which was deprecated in version 2.0.0 (#480). + +### :fire: Deprecated functions + +To unify the interfaces and to improve similarity with the STL, the following functions are now deprecated and will be removed in the next major version (i.e., 4.0.0): + +- [`friend std::istream& operator<<(basic_json&, std::istream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ab7285a92514fcdbe6de505ebaba92ea3.html#ab7285a92514fcdbe6de505ebaba92ea3) +- [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9e06deabe69262c3ffc5533d32856983.html#a9e06deabe69262c3ffc5533d32856983) + +Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. + +### :sparkles: New features + +With all this breaking and deprecation out of the way, let's talk about features! + +- We improved the **diagnostic information for syntax errors** (#301). Now, an exception [`json::parse_error`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1efc2468e6022be6e35fc2944cabe4d.html#af1efc2468e6022be6e35fc2944cabe4d) is thrown which contains a detailed message on the error, but also a member `byte` to indicate the byte offset in the input where the error occurred. +- We added a **non-throwing syntax check** (#458): The new `accept` function returns a Boolean indicating whether the input is proper JSON. We also added a Boolean parameter `allow_exceptions` to the existing [`parse`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aa9676414f2e36383c4b181fe856aa3c0.html#aa9676414f2e36383c4b181fe856aa3c0) functions to return a `discarded` value in case a syntax error occurs instead of throwing an exception. +- An [`update`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a1cfa9ae5e7c2434cab4cfe69bffffe11.html#a1cfa9ae5e7c2434cab4cfe69bffffe11) function was added to **merge two JSON objects** (#428). In case you are wondering: the name was inspired by [Python](https://docs.python.org/2/library/stdtypes.html#dict.update). +- The [`insert`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a1b0a4e60d56f1fe80501ed941e122892.html#a1b0a4e60d56f1fe80501ed941e122892) function now also supports an iterator range to add elements to an object. +- The binary exchange formats **CBOR and MessagePack can now be parsed from input streams and written to output streams** (#477). +- Input streams are now only read until the end of a JSON value instead of the end of the input (#367). +- The serialization function [`dump`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5adea76fedba9898d404fef8598aa663.html#a5adea76fedba9898d404fef8598aa663) now has two optional parameters `ensure_ascii` to **escape all non-ASCII characters** with `\uxxxx` and an `indent_char` parameter to choose whether to **indent with spaces or tabs** (#654). +- Added **built-in type support** for C arrays (#502), `std::pair` and `std::tuple` (#563, #614), `enum` and `enum class` (#545), `std::vector` (#494). Fixed support for `std::valarray` (#702), `std::array` (#553), and `std::map` (#600, #607). + +### :hammer: Further changes + +Furthermore, there have been a lot of changes under the hood: + +- Replaced the [re2c](http://re2c.org) generated scanner by a self-coded version which allows for a better modularization of the parser and better diagnostics. To test the new scanner, we added millions (8,860,608 to be exact) of unit tests to check all valid and invalid byte sequences of the Unicode standard. +- Google's OSS-Fuzz is still constantly fuzz-testing the library and found several issues that were fixed in this release (#497, #504, #514, #516, #518, #519, #575). +- We now also ignore UTF-8 byte order marks when parsing from an iterator range (#602). +- Values can be now moved from initializer lists (#663). +- Updated to [Catch](https://github.com/catchorg/Catch2) 1.9.7. Unfortunately, Catch2 currently has some performance issues. +- The non-exceptional paths of the library are now annotated with `__builtin_expect` to optimize branch prediction as long as no error occurs. +- MSVC now produces a stack trace in MSVC if a `from_json` or `to_json` function was not found for a user-defined type. We also added a debug visualizer [`nlohmann_json.natvis`](https://github.com/nlohmann/json/blob/develop/nlohmann_json.natvis) for better debugging in MSVC (#844). +- Overworked the documentation and added even more examples. +- The build workflow now relies on CMake and CTest. Special flags can be chosen with CMake, including coverage (`JSON_Coverage`), compilation without exceptions (`JSON_NoExceptions`), LLVM sanitizers (`JSON_Sanitizer`), or execution with Valgrind (`JSON_Valgrind`). +- Added support for package managers Meson (#576), Conan (#566), Hunter (#671, #829), and vcpkg (#753). +- Added CI builders: Xcode 8.3, 9.0, 9.1, and 9.2; GCC 7.2; Clang 3.8, 3.9, 4.0, and 5.0; Visual Studio 2017. The library is further built with C++17 settings on the latest Clang, GCC, and MSVC version to quickly detect new issues. + +### Moving from 2.x.x to 3.0.0 + +#### User-defined Exceptions + +There are five different exceptions inheriting from [`json::exception`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a9a0aced019cb1d65bb49703406c84970.html#a9a0aced019cb1d65bb49703406c84970): + +- [`json::parse_error`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af1efc2468e6022be6e35fc2944cabe4d.html#af1efc2468e6022be6e35fc2944cabe4d) for syntax errors (including the binary formats), +- [`json::invalid_iterator`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_ac13d32f7cbd02d616e71d8dc30dadcbf.html#ac13d32f7cbd02d616e71d8dc30dadcbf) for errors related to iterators, +- [`json::type_error`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a4010e8e268fefd86da773c10318f2902.html#a4010e8e268fefd86da773c10318f2902) for errors where functions were called with the wrong JSON type, +- [`json::out_of_range`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a28f7c2f087274a0012eb7a2333ee1580.html#a28f7c2f087274a0012eb7a2333ee1580) for range errors, and +- [`json::other_error`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a3333a5a8714912adda33a35b369f7b3d.html#a3333a5a8714912adda33a35b369f7b3d) for miscellaneous errors. + +To support these exception, the `try`/`catch` blocks of your code need to be adjusted: + +| new exception | previous exception | +|:--|:--| +| parse_error.101 | invalid_argument | +| parse_error.102 | invalid_argument | +| parse_error.103 | invalid_argument | +| parse_error.104 | invalid_argument | +| parse_error.105 | invalid_argument | +| parse_error.106 | domain_error | +| parse_error.107 | domain_error | +| parse_error.108 | domain_error | +| parse_error.109 | invalid_argument | +| parse_error.110 | out_of_range | +| parse_error.111 | invalid_argument | +| parse_error.112 | invalid_argument | +| invalid_iterator.201 | domain_error | +| invalid_iterator.202 | domain_error | +| invalid_iterator.203 | domain_error | +| invalid_iterator.204 | out_of_range | +| invalid_iterator.205 | out_of_range | +| invalid_iterator.206 | domain_error | +| invalid_iterator.207 | domain_error | +| invalid_iterator.208 | domain_error | +| invalid_iterator.209 | domain_error | +| invalid_iterator.210 | domain_error | +| invalid_iterator.211 | domain_error | +| invalid_iterator.212 | domain_error | +| invalid_iterator.213 | domain_error | +| invalid_iterator.214 | out_of_range | +| type_error.301 | domain_error | +| type_error.302 | domain_error | +| type_error.303 | domain_error | +| type_error.304 | domain_error | +| type_error.305 | domain_error | +| type_error.306 | domain_error | +| type_error.307 | domain_error | +| type_error.308 | domain_error | +| type_error.309 | domain_error | +| type_error.310 | domain_error | +| type_error.311 | domain_error | +| type_error.313 | domain_error | +| type_error.314 | domain_error | +| type_error.315 | domain_error | +| out_of_range.401 | out_of_range | +| out_of_range.402 | out_of_range | +| out_of_range.403 | out_of_range | +| out_of_range.404 | out_of_range | +| out_of_range.405 | domain_error | +| other_error.501 | domain_error | + +#### Handling of NaN and INF + +- If an overflow occurs during parsing a number from a JSON text, an exception [`json::out_of_range`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a28f7c2f087274a0012eb7a2333ee1580.html#a28f7c2f087274a0012eb7a2333ee1580) is thrown so that the overflow is detected early and roundtripping is guaranteed. + +- NaN and INF floating-point values can be stored in a JSON value and are not replaced by null. That is, the basic_json class behaves like `double` in this regard (no exception occurs). However, NaN and INF are serialized to `null`. + +#### Removal of deprecated functions + +Function `explicit basic_json(std::istream& i, const parser_callback_t cb = nullptr)` should be replaced by the `parse` function: Let `ss` be a stream and `cb` be a parse callback function. + +Old code: + +```cpp +json j(ss, cb); +``` + +New code: + +```cpp +json j = json::parse(ss, cb); +``` + +If no callback function is used, also the following code works: + +```cpp +json j; +j << ss; +``` + +or + +```cpp +json j; +ss >> j; +``` + +## v2.1.1 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.1.1/json.hpp) (437 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.1.1/json.hpp.asc) (1 KB) + +Release date: 2017-02-25 +SHA-256: faa2321beb1aa7416d035e7417fcfa59692ac3d8c202728f9bcc302e2d558f57 + +### Summary + +This release **fixes a locale-related bug in the parser**. To do so, the whole number handling (lexer, parser, and also the serialization) have been overworked. Furthermore, a lot of small changes added up that were added to this release. All changes are backward-compatible. + +### Changes +- :bug: Locales that have a different character than `.` as decimal separator (e.g., the Norwegian locale `nb_NO.UTF-8`) led to truncated number parsing or parse errors. The library now has been fixed to work with **any locale**. Note that `.` is still the only valid decimal separator for JSON input. +- :bug: Numbers like `1.0` were correctly parsed as floating-point number, but serialized as integer (`1`). Now, **floating-point numbers correctly round trip**. +- :bug: Parsing incorrect JSON numbers with leading 0 (`0123`) could yield a [buffer overflow](https://github.com/nlohmann/json/issues/452). This is fixed now by detecting such errors directly by the lexer. +- :bug: Constructing a JSON value from a pointer was incorrectly interpreted as a Boolean; such code will now yield a compiler error. +- :bug: Comparing a JSON number with `0` led to a comparison with `null`. This is fixed now. +- :bug: All throw calls are now wrapped in macros. +- :lock: Starting during the preparation of this release (since 8 February 2017), commits and released files are **cryptographically signed** with [this GPG key](https://keybase.io/nlohmann/pgp_keys.asc?fingerprint=797167ae41c0a6d9232e48457f3cea63ae251b69). Previous releases have also been signed. +- :sparkles: The parser for MessagePack and CBOR now supports an optional start index parameter to define a byte offset for the parser. +- :rotating_light: Some more warnings have been fixed. With Clang, the code compiles **without warnings** with `-Weverything` (well, it needs `-Wno-documentation-unknown-command` and `-Wno-deprecated-declarations`, but you get the point). +- :hammer: The code can be compiled easier with many Android NDKs by avoiding macros like `UINT8_MAX` which previously required defining a preprocessor macro for compilation. +- :zap: The unit tests now compile two times faster. +- :heavy_plus_sign: [Cotire](https://github.com/sakra/cotire) is used to speed up the build. +- :pencil2: Fixed a lot of typos in the documentation. +- :memo: Added a section to the README file that lists all used [third-party code/tools](https://github.com/nlohmann/json#used-third-party-tools). +- :memo: Added a note on constructing a string value vs. parsing. +- :white_check_mark: The test suite now contains 11202597 unit tests. +- :memo: Improved the [Doxygen documentation](https://nlohmann.github.io/json/) by shortening the template parameters of class `basic_json`. +- :construction_worker: Removed Doozer. +- :construction_worker: Added Codacity. +- :arrow_up: Upgraded Catch to version 1.7.2. + + +## v2.1.0 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.1.0/json.hpp) (426 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.1.0/json.hpp.asc) (1 KB) + +- Release date: 2017-01-28 +- SHA-256: a571dee92515b685784fd527e38405cf3f5e13e96edbfe3f03d6df2e363a767b + +### Summary + +This release introduces a means to convert from/to user-defined types. The release is backwards compatible. + +![conversion](https://cloud.githubusercontent.com/assets/159488/22399173/aebe8f7a-e597-11e6-930f-7494ee615827.png) + +### Changes +- :sparkles: The library now offers an elegant way to **convert from and to arbitrary value types**. All you need to do is to implement two functions: `to_json` and `from_json`. Then, a conversion is as simple as putting a `=` between variables. See the [README](https://github.com/nlohmann/json#arbitrary-types-conversions) for more information and examples. +- :sparkles: **Exceptions can now be switched off.** This can be done by defining the preprocessor symbol `JSON_NOEXCEPTION` or by passing `-fno-exceptions` to your compiler. In case the code would usually thrown an exception, `abort()` is now called. +- :sparkles: **Information on the library** can be queried with the new (static) function `meta()` which returns a JSON object with information on the version, compiler, and platform. See the [documentation]() for an example. +- :bug: A bug in the CBOR parser was fixed which led to a buffer overflow. +- :sparkles: The function [`type_name()`]() is now public. It allows to query the type of a JSON value as string. +- :white_check_mark: Added the [Big List of Naughty Strings](https://github.com/minimaxir/big-list-of-naughty-strings) as test case. +- :arrow_up: Updated to [Catch v1.6.0](https://github.com/philsquared/Catch/releases/tag/v1.6.0). +- :memo: Some typos in the documentation have been fixed. + + +## v2.0.10 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.10/json.hpp) (409 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.10/json.hpp.asc) (1 KB) + +- Release date: 2017-01-02 +- SHA-256: ec27d4e74e9ce0f78066389a70724afd07f10761009322dc020656704ad5296d + +### Summary + +This release fixes several security-relevant bugs in the MessagePack and CBOR parsers. The fixes are backwards compatible. + +### Changes +- :bug: Fixed a lot of **bugs in the CBOR and MesssagePack parsers**. These bugs occurred if invalid input was parsed and then could lead in buffer overflows. These bugs were found with Google's [OSS-Fuzz](https://github.com/google/oss-fuzz), see #405, #407, #408, #409, #411, and #412 for more information. +- :construction_worker: We now also use the **[Doozer](https://doozer.io) continuous integration platform**. +- :construction_worker: The complete test suite is now also run with **Clang's address sanitizer and undefined-behavior sanitizer**. +- :white_check_mark: Overworked **fuzz testing**; CBOR and MessagePack implementations are now fuzz-tested. Furthermore, all fuzz tests now include a round trip which ensures created output can again be properly parsed and yields the same JSON value. +- :memo: Clarified documentation of `find()` function to always return `end()` when called on non-object value types. +- :hammer: Moved thirdparty test code to `test/thirdparty` directory. + +## v2.0.9 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.9/json.hpp) (406 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.9/json.hpp.asc) (1 KB) + +- Release date: 2016-12-16 +- SHA-256: fbf3396f13e187d6c214c297bddc742d918ea9b55e10bfb3d9f458b9bfdc22e5 + +### Summary + +This release implements with **[CBOR](http://cbor.io)** and **[MessagePack](http://msgpack.org)** two **binary serialization/deserialization formats**. It further contains some small fixes and improvements. The fixes are backwards compatible. + +![cbor](https://cloud.githubusercontent.com/assets/159488/22399181/d4d60d32-e597-11e6-8dcb-825abcf9ac2a.png) + +### Changes +- :sparkles: The library can now read and write the binary formats **[CBOR](http://cbor.io)** (Concise Binary Object Representation) and **[MessagePack](http://msgpack.org)**. Both formats are aimed to produce a very compact representation of JSON which can be parsed very efficiently. See the [README file](https://github.com/nlohmann/json#binary-formats-cbor-and-messagepack) for more information and examples. +- :fire: simplified the iteration implementation allowing to remove dozens of lines of code +- :bug: fixed an [integer overflow error](https://github.com/nlohmann/json/issues/389) detected by [Google's OSS-Fuzz](https://github.com/google/oss-fuzz) +- :bug: suppressed documentation warnings inside the library to facilitate compilation with `-Wdocumentation` +- :bug: fixed an overflow detection error in the number parser +- :memo: updated [contribution guidelines](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md) to a list of frequentely asked features that will most likely be never added to the library +- :memo: added a **table of contents** to the [README file](https://github.com/nlohmann/json/blob/develop/README.md) to add some structure +- :memo: mentioned the many [examples](https://github.com/nlohmann/json/tree/develop/doc/examples) and the [documentation](https://nlohmann.github.io/json/) in the [README file]() +- :hammer: split [unit tests](https://github.com/nlohmann/json/tree/develop/test/src) into individual independent binaries to speed up compilation and testing +- :white_check_mark: the test suite now contains **11201886** tests + +## v2.0.8 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.8/json.hpp) (360 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.8/json.hpp.asc) (1 KB) + +- Release date: 2016-12-02 +- SHA-256: b70db0ad34f8e0e61dc3f0cbab88099336c9674c193d8a3439d93d6aca2d7120 + +### Summary + +This release combines a lot of small fixes and improvements. The fixes are backwards compatible. + +### Changes +- :bug: fixed a bug that froze the parser if a passed file was not found (now, `std::invalid_argument` is thrown) +- :bug: fixed a bug that lead to an error of a file at EOF was parsed again (now, `std::invalid_argument` is thrown) +- :sparkles: the well known functions [`emplace`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a602f275f0359ab181221384989810604.html#a602f275f0359ab181221384989810604) and [`emplace_back`](http://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_af8a435033327d9237da414afc1cce513.html#af8a435033327d9237da414afc1cce513) have been added to JSON values and work as expected +- :zap: improved the performance of the serialization (`dump` function) +- :zap: improved the performance of the deserialization (parser) +- :construction_worker: some continuous integration images at [Travis](https://travis-ci.org/nlohmann/json) were added and retired; see [here](https://github.com/nlohmann/json#supported-compilers) for the current continuous integration setup +- :construction_worker: the [Coverity scan](https://scan.coverity.com/projects/nlohmann-json) works again +- :chart_with_upwards_trend: the benchmarking code has been improved to produce more stable results +- :memo: the [README](https://github.com/nlohmann/json/blob/develop/README.md) file has been extended and includes more frequently asked examples +- :white_check_mark: the test suite now contains 8905518 tests +- :arrow_up: updated [Catch](https://github.com/philsquared/Catch) to version 1.5.8 + +## v2.0.7 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.7/json.hpp) (355 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.7/json.hpp.asc) (1 KB) + +- Release date: 2016-11-02 +- SHA-256: 5545c323670f8165bae90b9dc6078825e86ec310d96cc4e5b47233ea43715bbf + +### Summary + +This release fixes a few bugs in the JSON parser found in the [Parsing JSON is a Minefield 💣](http://seriot.ch/parsing_json.html) article. The fixes are backwards compatible. + +### Changes +- The article [Parsing JSON is a Minefield 💣](http://seriot.ch/parsing_json.html) discusses a lot of pitfalls of the JSON specification. When investigating the published test cases, a few bugs in the library were found and fixed: + - Files with less than 5 bytes can now be parsed without error. + - The library now properly rejects any file encoding other than UTF-8. Furthermore, incorrect surrogate pairs are properly detected and rejected. + - The library now accepts all but one "yes" test (y_string_utf16.json): UTF-16 is not supported. + - The library rejects all but one "no" test (n_number_then_00.json): Null bytes are treated as end of file instead of an error. This allows to parse input from null-terminated strings. +- The string length passed to a user-defined string literal is now exploited to choose a more efficient constructor. +- A few grammar mistakes in the README file have been fixed. + +## v2.0.6 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.6/json.hpp) (349 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.6/json.hpp.asc) (1 KB) + +- Release date: 2016-10-15 +- SHA256: 459cc93d5e2f503e50c6d5876eb86bfea7daf405f5a567c5a2c9abc2383756ae + +### Summary + +This release fixes the semantics of `operator[]` for JSON Pointers (see below). This fix is backwards compatible. + +### Changes +- **`operator[]` for JSON Pointers** now behaves like the other versions of `operator[]` and transforms `null` values into objects or arrays if required. This allows to created nested structues like `j["/foo/bar/2"] = 17` (yielding `{"foo": "bar": [null, null, 17]}`) without problems. +- overworked a helper SFINAE function +- fixed some documentation issues +- fixed the CMake files to allow to run the test suite outside the main project directory +- restored test coverage to 100%. + +## v2.0.5 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.5/json.hpp) (347 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.5/json.hpp.asc) (1 KB) + +- Release date: 2016-09-14 +- SHA-256: 8b7565263a44e2b7d3b89808bc73d2d639037ff0c1f379e3d56dbd77e00b98d9 + +### Summary + +This release fixes a regression bug in the stream parser (function `parse()` and the `<<`/`>>` operators). This fix is backwards compatible. + +### Changes +- **Bug fix**: The end of a file stream was not detected properly which led to parse errors. This bug should have been fixed with 2.0.4, but there was still a flaw in the code. + +## v2.0.4 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.4/json.hpp) (347 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.4/json.hpp.asc) (1 KB) + +- Release date: 2016-09-11 +- SHA-256: 632ceec4c25c4e2153f71470d3a2b992c8355f6d8b4d627d05dd16095cd3aeda + +### Summary + +This release fixes a bug in the stream parser (function `parse()` and the `<<`/`>>` operators). This fix is backwards compatible. + +### Changes +- **Bug fix**: The end of a file stream was not detected properly which led to parse errors. +- Fixed a compiler warning about an unused variable. + +## v2.0.3 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.3/json.hpp) (347 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.3/json.hpp.asc) (1 KB) + +- Release date: 2016-08-31 +- SHA-256: 535b73efe5546fde9e763c14aeadfc7b58183c0b3cd43c29741025aba6cf6bd3 + +### Summary + +This release combines a lot of small fixes and improvements. The release is backwards compatible. + +### Changes +- The **parser/deserialization functions have been generalized** to process any contiguous sequence of 1-byte elements (e.g., `char`, `unsigned char`, `uint8_t`). This includes all kind of string representations (string literals, char arrays, `std::string`, `const char*`), contiguous containers (C-style arrays, `std::vector`, `std::array`, `std::valarray`, `std::initializer_list`). User-defined containers providing random-access iterator access via `std::begin` and `std::end` can be used as well. See the documentation ([1](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_ace63ac4eb1dd7251a259d32e397461a3.html#ace63ac4eb1dd7251a259d32e397461a3), [2](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a90f05d55d9d0702c075cd281fd0d85ae.html#a90f05d55d9d0702c075cd281fd0d85ae), [3](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_aeffd70f622f8f2a51fd3d95af64b63a7.html#aeffd70f622f8f2a51fd3d95af64b63a7), [4](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_aa8dca2e91a6301c36890f844e64f0023.html#aa8dca2e91a6301c36890f844e64f0023)) for more information. Note that contiguous storage cannot be checked at compile time; if any of the parse functions are called with a noncompliant container, the behavior is undefined and will most likely yield segmentation violation. The preconditions are enforced by an assertion unless the library is compiled with preprocessor symbol `NDEBUG`. +- As a general remark on **assertions**: The library uses assertions to preclude undefined behavior. A [prominent example](https://github.com/nlohmann/json/issues/289) for this is the `operator[]` for const JSON objects. The behavior of this const version of the operator is undefined if the given key does not exist in the JSON object, because unlike the non-const version, it cannot add a `null` value at the given key. Assertions can be switched of by defining the preprocessor symbol `NDEBUG`. See the [documentation of `assert`](http://en.cppreference.com/w/cpp/error/assert) for more information. +- In the course of cleaning up the parser/deserialization functions, the constructor [`basic_json(std::istream&, const parser_callback_t)`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a32350263eb105764844c5a85e156a255.html#a32350263eb105764844c5a85e156a255) has been **deprecated** and will be deleted with the next major release 3.0.0 to unify the interface of the library. Deserialization will be done by stream operators or by calling one of the `parse` functions. That is, calls like `json j(i);` for an input stream `i` need to be replaced by `json j = json::parse(i);`. Compilers will produce a deprecation warning if client code uses this function. +- Minor improvements: + - Improved the performance of the serialization by avoiding the re-creation of a locale object. + - Fixed two MSVC warnings. Compiling the test suite with `/Wall` now only warns about non-inlined functions (C4710) and the deprecation of the constructor from input-stream (C4996). +- Some project internals: + - The project has qualified for the [Core Infrastructure Initiative Best Practices Badge](https://bestpractices.coreinfrastructure.org/projects/289). While most requirements where already satisfied, some led to a more explicit documentation of quality-ensuring procedures. For instance, static analysis is now executed with every commit on the build server. Furthermore, the [contribution guidelines document](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md) how to communicate security issues privately. + - The test suite has been overworked and split into several files to allow for faster compilation and analysis. The execute the test suite, simply execute `make check`. + - The continuous integration with [Travis](https://travis-ci.org/nlohmann/json) was extended with Clang versions 3.6.0 to 3.8.1 and now includes 18 different compiler/OS combinations. + - An 11-day run of [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) checked 962 million inputs on the parser and found no issue. + +## v2.0.2 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.2/json.hpp) (338 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.2/json.hpp.asc) (1 KB) + +- Release date: 2016-07-31 +- SHA-256: 8e97b7965b4594b00998d6704465412360e1a0ed927badb51ded8b82291a8f3d + +### Summary + +This release combines a lot of small fixes and improvements. The release is backwards compatible. + +### Changes +- The **parser** has been overworked, and a lot of small issues have been fixed: + - Improved parser performance by avoiding recursion and using move semantics for the return value. + - Unescaped control charaters `\x10`-`\x1f` are not accepted any more. + - Fixed a bug in the parser when reading from an input stream. + - Improved test case coverage for UTF-8 parsing: now, all valid Unicode code points are tested both escaped and unescaped. + - The precision of output streams is now preserved by the parser. +- Started to check the **code correctness** by proving termination of important loops. Furthermore, individual assertions have been replaced by a more systematic function which checks the class invariants. Note that assertions should be switched off in production by defining the preprocessor macro `NDEBUG`, see the [documentation of `assert`](http://en.cppreference.com/w/cpp/error/assert). +- A lot of **code cleanup**: removed unused headers, fixed some compiler warnings, and fixed a build error for Windows-based Clang builds. +- Added some compile-time checks: + - Unsupported compilers are rejected during compilation with an `#error` command. + - Static assertion prohibits code with incompatible pointer types used in `get_ptr()`. +- Improved the [documentation](https://nlohmann.github.io/json/), and adjusted the documentation script to choose the correct version of `sed`. +- Replaced a lot of "raw loops" by STL functions like `std::all_of`, `std::for_each`, or `std::accumulate`. This facilitates reasoning about termination of loops and sometimes allowed to simplify functions to a single return statement. +- Implemented a `value()` function for JSON pointers (similar to `at` function). +- The Homebrew formula (see [Integration](https://github.com/nlohmann/json#integration)) is now tested for all Xcode builds (6.1 - 8.x) with Travis. +- Avoided output to `std::cout` in the test cases. + +## v2.0.1 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.1/json.hpp) (321 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.1/json.hpp.asc) (1 KB) + +- Release date: 2016-06-28 +- SHA-256: ef550fcd7df572555bf068e9ec4e9d3b9e4cdd441cecb0dcea9ea7fd313f72dd + +### Summary + +This release fixes a performance regression in the JSON serialization (function `dump()`). This fix is backwards compatible. + +### Changes +- The locale of the output stream (or the internal string stream if a JSON value is serialized to a string) is now adjusted once for the whole serialization instead of for each floating-point number. +- The locale of an output stream is now correctly reset to the previous value by the JSON library. + + +## v2.0.0 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v2.0.0/json.hpp) (321 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v2.0.0/json.hpp.asc) (1 KB) + +- Release date: 2016-06-24 +- SHA-256: ac9e1fb25c2ac9ca5fc501fcd2fe3281fe04f07018a1b48820e7b1b11491bb6c + +### Summary + +This release adds several features such as JSON Pointers, JSON Patch, or support for 64 bit unsigned integers. Furthermore, several (subtle) bugs have been fixed. + +As `noexcept` and `constexpr` specifier have been added to several functions, the public API has effectively been changed in a (potential) non-backwards compatible manner. As we adhere to [Semantic Versioning](http://semver.org), this calls for a new major version, so say hello to 2️⃣.0️⃣.0️⃣. + +### Changes +- 🔟 A JSON value now uses `uint64_t` (default value for template parameter `NumberUnsignedType`) as data type for **unsigned integer** values. This type is used automatically when an unsigned number is parsed. Furthermore, constructors, conversion operators and an `is_number_unsigned()` test have been added. +- 👉 **JSON Pointer** ([RFC 6901](https://tools.ietf.org/html/rfc6901)) support: A JSON Pointer is a string (similar to an XPath expression) to address a value inside a structured JSON value. JSON Pointers can be used in `at()` and `operator[]` functions. Furthermore, JSON values can be “flattened” to key/value pairs using `flatten()` where each key is a JSON Pointer. The original value can be restored by “unflattening” the flattened value using `unflatten()`. +- 🏥 **JSON Patch** ([RFC 6902](https://tools.ietf.org/html/rfc6902)) support. A JSON Patch is a JSON value that describes the required edit operations (add, change, remove, …) to transform a JSON value into another one. A JSON Patch can be created with function `diff(const basic_json&)` and applied with `patch(const basic_json&)`. Note the created patches use a rather primitive algorithm so far and leave room for improvement. +- 🇪🇺 The code is now **locale-independent**: Floating-point numbers are always serialized with a period (`.`) as decimal separator and ignores different settings from the locale. +- 🍺 **Homebrew** support: Install the library with `brew tap nlohmann/json && brew install nlohmann_json`. +- Added constructor to create a JSON value by parsing a `std::istream` (e.g., `std::stringstream` or `std::ifstream`). +- Added **`noexcept`** specifier to `basic_json(boolean_t)`, `basic_json(const number_integer_t)`, `basic_json(const int)`, `basic_json(const number_float_t)`, iterator functions (`begin()`, `end()`, etc.) +- When parsing numbers, the sign of `0.0` (vs. `-0.0`) is preserved. +- Improved MSVC 2015, Android, and MinGW support. See [README](https://github.com/nlohmann/json#supported-compilers) for more information. +- Improved test coverage (added 2,225,386 tests). +- Removed some misuses of `std::move`. +- Fixed several compiler warnings. +- Improved error messages from JSON parser. +- Updated to [`re2c`](http://re2c.org) to version 0.16 to use a minimal DFAs for the lexer. +- Updated test suite to use [Catch](https://github.com/philsquared/Catch) version 1.5.6. +- Made type getters (`is_number`, etc.) and const value access `constexpr`. +- Functions `push_back` and `operator+=` now work with key/value pairs passed as initializer list, e.g. `j_object += {"key", 1}`. +- Overworked `CMakeLists.txt` to make it easier to integrate the library into other projects. + +### Notes +- Parser error messages are still very vague and contain no information on the error location. +- The implemented `diff` function is rather primitive and does not create minimal diffs. +- The name of function `iteration_wrapper` may change in the future and the function will be deprecated in the next release. +- Roundtripping (i.e., parsing a JSON value from a string, serializing it, and comparing the strings) of floating-point numbers is not 100% accurate. Note that [RFC 7159](https://tools.ietf.org/html/rfc7159) defines no format to internally represent numbers and states not requirement for roundtripping. Nevertheless, benchmarks like [Native JSON Benchmark](https://github.com/miloyip/nativejson-benchmark) treat roundtripping deviations as conformance errors. + + +## v1.1.0 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v1.1.0/json.hpp) (257 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v1.1.0/json.hpp.asc) (1 KB) + +- Release date: 2016-01-24 +- SHA-256: c0cf0e3017798ca6bb18e757ebc570d21a3bdac877845e2b9e9573d183ed2f05 + +### Summary + +This release fixes several small bugs and adds functionality in a backwards-compatible manner. Compared to the [last version (1.0.0)](https://github.com/nlohmann/json/releases/tag/v1.0.0), the following changes have been made: + +### Changes +- _Fixed_: **Floating-point numbers** are now serialized and deserialized properly such that rountripping works in more cases. [#185, #186, #190, #191, #194] +- _Added_: The code now contains **assertions** to detect undefined behavior during development. As the standard function `assert` is used, the assertions can be switched off by defining the preprocessor symbol `NDEBUG` during compilation. [#168] +- _Added_: It is now possible to get a **reference** to the stored values via the newly added function `get_ref()`. [#128, #184] +- _Fixed_: Access to object values via keys (**`operator[]`**) now works with all kind of string representations. [#171, #189] +- _Fixed_: The code now compiles again with **Microsoft Visual Studio 2015**. [#144, #167, #188] +- _Fixed_: All required headers are now included. +- _Fixed_: Typos and other small issues. [#162, #166, #175, #177, #179, #180] + +### Notes + +There are still known open issues (#178, #187) which will be fixed in version 2.0.0. However, these fixes will require a small API change and will not be entirely backwards-compatible. + + +## v1.0.0 + +!!! summary "Files" + + - [json.hpp](https://github.com/nlohmann/json/releases/download/v1.0.0/json.hpp) (243 KB) + - [json.hpp.asc](https://github.com/nlohmann/json/releases/download/v1.0.0/json.hpp.asc) (1 KB) + +- Release date: 2015-12-28 +- SHA-256: 767dc2fab1819d7b9e19b6e456d61e38d21ef7182606ecf01516e3f5230446de + +### Summary + +This is the first official release. Compared to the [prerelease version 1.0.0-rc1](https://github.com/nlohmann/json/releases/tag/v1.0.0-rc1), only a few minor improvements have been made: + +### Changes +- _Changed_: A **UTF-8 byte order mark** is silently ignored. +- _Changed_: `sprintf` is no longer used. +- _Changed_: `iterator_wrapper` also works for const objects; note: the name may change! +- _Changed_: **Error messages** during deserialization have been improved. +- _Added_: The `parse` function now also works with type `std::istream&&`. +- _Added_: Function `value(key, default_value)` returns either a copy of an object's element at the specified key or a given default value if no element with the key exists. +- _Added_: Public functions are tagged with the version they were introduced. This shall allow for better **versioning** in the future. +- _Added_: All public functions and types are **documented** (see http://nlohmann.github.io/json/doxygen/) including executable examples. +- _Added_: Allocation of all types (in particular arrays, strings, and objects) is now exception-safe. +- _Added_: They descriptions of thrown exceptions have been overworked and are part of the tests suite and documentation. diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml index 28cd308c..f505c3a1 100644 --- a/doc/mkdocs/mkdocs.yml +++ b/doc/mkdocs/mkdocs.yml @@ -32,6 +32,7 @@ nav: - "Code of Conduct": home/code_of_conduct.md - "FAQ": home/faq.md - home/exceptions.md + - home/releases.md - home/design_goals.md - home/sponsors.md - Features: From ddf92606ab848617250214428604c903f64b4b84 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 24 May 2020 21:05:35 +0200 Subject: [PATCH 03/73] :memo: add PlantUML --- .../docs/features/binary_formats/index.md | 8 +- doc/mkdocs/docs/features/binary_values.md | 23 +- doc/mkdocs/docs/features/sax_interface.md | 23 ++ doc/mkdocs/docs/features/types.md | 264 ++++++++++++++++++ doc/mkdocs/mkdocs.yml | 8 + doc/mkdocs/requirements.txt | 6 + 6 files changed, 323 insertions(+), 9 deletions(-) create mode 100644 doc/mkdocs/docs/features/types.md diff --git a/doc/mkdocs/docs/features/binary_formats/index.md b/doc/mkdocs/docs/features/binary_formats/index.md index 3583f43c..6d0ff82f 100644 --- a/doc/mkdocs/docs/features/binary_formats/index.md +++ b/doc/mkdocs/docs/features/binary_formats/index.md @@ -2,10 +2,10 @@ Though JSON is a ubiquitous data format, it is not a very compact format suitable for data exchange, for instance over a network. Hence, the library supports -- [BSON](bson) (Binary JSON), -- [CBOR](cbor) (Concise Binary Object Representation), -- [MessagePack](messagepack), and -- [UBJSON](ubjson) (Universal Binary JSON Specification) +- [BSON](bson.md) (Binary JSON), +- [CBOR](cbor.md) (Concise Binary Object Representation), +- [MessagePack](messagepack.md), and +- [UBJSON](ubjson.md) (Universal Binary JSON Specification) to efficiently encode JSON values to byte vectors and to decode such vectors. diff --git a/doc/mkdocs/docs/features/binary_values.md b/doc/mkdocs/docs/features/binary_values.md index e5444a48..764b75be 100644 --- a/doc/mkdocs/docs/features/binary_values.md +++ b/doc/mkdocs/docs/features/binary_values.md @@ -1,11 +1,24 @@ # Binary Values -The library implements several [binary formats](binary_formats/index) that encode JSON in an efficient way. Most of these formats support binary values; that is, values that have semantics define outside the library and only define a sequence of bytes to be stored. +The library implements several [binary formats](binary_formats/index.md) that encode JSON in an efficient way. Most of these formats support binary values; that is, values that have semantics define outside the library and only define a sequence of bytes to be stored. JSON itself does not have a binary value. As such, binary values are an extension that this library implements to store values received by a binary format. Binary values are never created by the JSON parser, and are only part of a serialized JSON text if they have been created manually or via a binary format. ## API for binary values +```plantuml +class json::binary_t { + -- setters -- + +void set_subtype(std::uint8_t subtype) + +void clear_subtype() + -- getters -- + +std::uint8_t subtype() const + +bool has_subtype() const +} + +"std::vector" <|-- json::binary_t +``` + By default, binary values are stored as `std::vector`. This type can be changed by providing a template parameter to the `basic_json` type. To store binary subtypes, the storage type is extended and exposed as `json::binary_t`: ```cpp @@ -105,7 +118,7 @@ JSON does not have a binary type, and this library does not introduce a new type ### BSON -[BSON](binary_formats/bson) supports binary values and subtypes. If a subtype is given, it is used and added as unsigned 8-bit integer. If no subtype is given, the generic binary subtype 0x00 is used. +[BSON](binary_formats/bson.md) supports binary values and subtypes. If a subtype is given, it is used and added as unsigned 8-bit integer. If no subtype is given, the generic binary subtype 0x00 is used. !!! example @@ -145,7 +158,7 @@ JSON does not have a binary type, and this library does not introduce a new type ### CBOR -[CBOR](binary_formats/cbor) supports binary values, but no subtypes. Any binary value will be serialized as byte strings. The library will choose the smallest representation using the length of the byte array. +[CBOR](binary_formats/cbor.md) supports binary values, but no subtypes. Any binary value will be serialized as byte strings. The library will choose the smallest representation using the length of the byte array. !!! example @@ -183,7 +196,7 @@ JSON does not have a binary type, and this library does not introduce a new type ### MessagePack -[MessagePack](binary_formats/messagepack) supports binary values and subtypes. If a subtype is given, the ext family is used. The library will choose the smallest representation among fixext1, fixext2, fixext4, fixext8, ext8, ext16, and ext32. The subtype is then added as singed 8-bit integer. +[MessagePack](binary_formats/messagepack.md) supports binary values and subtypes. If a subtype is given, the ext family is used. The library will choose the smallest representation among fixext1, fixext2, fixext4, fixext8, ext8, ext16, and ext32. The subtype is then added as singed 8-bit integer. If no subtype is given, the bin family (bin8, bin16, bin32) is used. @@ -224,7 +237,7 @@ If no subtype is given, the bin family (bin8, bin16, bin32) is used. ### UBJSON -[UBJSON](binary_formats/ubjson) neither supports binary values nor subtypes, and proposes to serialize binary values as array of uint8 values. This translation is implemented by the library. +[UBJSON](binary_formats/ubjson.md) neither supports binary values nor subtypes, and proposes to serialize binary values as array of uint8 values. This translation is implemented by the library. !!! example diff --git a/doc/mkdocs/docs/features/sax_interface.md b/doc/mkdocs/docs/features/sax_interface.md index 135fc23b..88ed1100 100644 --- a/doc/mkdocs/docs/features/sax_interface.md +++ b/doc/mkdocs/docs/features/sax_interface.md @@ -2,6 +2,29 @@ The library uses a SAX-like interface with the following functions: +```plantuml +class sax { + + {abstract} bool null() + + + {abstract} bool boolean(bool val) + + + {abstract} bool number_integer(number_integer_t val) + + {abstract} bool number_unsigned(number_unsigned_t val) + + + {abstract} bool number_float(number_float_t val, const string_t& s) + + + {abstract} bool string(string_t& val) + + + {abstract} bool start_object(std::size_t elements) + + {abstract} bool end_object() + + {abstract} bool start_array(std::size_t elements) + + {abstract} bool end_array() + + {abstract} bool key(string_t& val) + + + {abstract} bool parse_error(std::size_t position, const std::string& last_token, const detail::exception& ex) +} +``` + ```cpp // called when null is parsed bool null(); diff --git a/doc/mkdocs/docs/features/types.md b/doc/mkdocs/docs/features/types.md new file mode 100644 index 00000000..72a09f31 --- /dev/null +++ b/doc/mkdocs/docs/features/types.md @@ -0,0 +1,264 @@ +# Types + +This page gives an overview how JSON values are stored and how this can be configured. + +## Overview + +By default, JSON values are stored as follows: + +| JSON type | C++ type | +| --------- | -------- | +| object | `std::map` | +| array | `std::vector` | +| null | `std::nullptr_t` | +| string | `std::string` | +| boolean | `bool` | +| number | `std::int64_t`, `std::uint64_t`, and `double` | + +Note there are three different types for numbers - when parsing JSON text, the best fitting type is chosen. + +```plantuml +enum value_t { + null + object + array + string + boolean + number_integer + number_unsigned + number_float + binary + discarded + +} + +class json_value << (U,orchid) >> { + object_t* object + array_t* array + string_t* string + binary_t* binary + boolean_t boolean + number_integer_t number_integer + number_unsigned_t number_unsigned + number_float_t number_float +} + +class basic_json { + value_t m_type + json_value m_value + + typedef object_t + + typedef array_t + + typedef binary_t + + typedef boolean_t + + typedef number_integer_t + + typedef number_unsigned_t + + typedef number_float_t +} + +basic_json .. json_value +basic_json .. value_t +``` + +## Template arguments + +The data types to store a JSON value are derived from the template arguments passed to class `basic_json`: + +```cpp +template< + template class ObjectType = std::map, + template class ArrayType = std::vector, + class StringType = std::string, + class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = adl_serializer, + class BinaryType = std::vector +> +class basic_json; +``` + +Type `json` is an alias for `basic_json<>` and uses the default types. + +From the template arguments, the following types are derived: + +```cpp +using object_comparator_t = std::less<>; +using object_t = ObjectType>>; + +using array_t = ArrayType>; + +using string_t = StringType; + +using boolean_t = BooleanType; + +using number_integer_t = NumberIntegerType; +using number_unsigned_t = NumberUnsignedType; +using number_float_t = NumberFloatType; + +using binary_t = nlohmann::byte_container_with_subtype; +``` + + +## Objects + +[RFC 7159](http://rfc7159.net/rfc7159) describes JSON objects as follows: + +> An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array. + +### Default type + +With the default values for *ObjectType* (`std::map`), *StringType* (`std::string`), and *AllocatorType* (`std::allocator`), the default value for `object_t` is: + +```cpp +std::map< + std::string, // key_type + basic_json, // value_type + std::less<>, // key_compare + std::allocator> // allocator_type +> +``` + +### Behavior + +The choice of `object_t` influences the behavior of the JSON class. With the default type, objects have the following behavior: + +- When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings. +- When the names within an object are not unique, it is unspecified which one of the values for a given key will be chosen. For instance, `#!json {"key": 2, "key": 1}` could be equal to either `#!json {"key": 1}` or `#!json {"key": 2}`. +- Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see `dump`) in this order. For instance, both `#!json {"b": 1, "a": 2}` and `#!json {"a": 2, "b": 1}` will be stored and serialized as `#!json {"a": 2, "b": 1}`. +- When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, `#!json {"b": 1, "a": 2}` and `#!json {"a": 2, "b": 1}` will be treated as equal. + +### Key order + +The order name/value pairs are added to the object is *not* preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as `std::map` with `std::less` is used by default. Please note this behavior conforms to [RFC 7159](http://rfc7159.net/rfc7159), because any order implements the specified "unordered" nature of JSON objects. + +### Limits + +[RFC 7159](http://rfc7159.net/rfc7159) specifies: + +> An implementation may set limits on the maximum depth of nesting. + +In this class, the object's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the `max_size` function of a JSON object. + +### Storage + +Objects are stored as pointers in a `basic_json` type. That is, for any access to object values, a pointer of type `object_t*` must be dereferenced. + + +## Arrays + +[RFC 7159](http://rfc7159.net/rfc7159) describes JSON arrays as follows: + +> An array is an ordered sequence of zero or more values. + +### Default type + +With the default values for *ArrayType* (`std::vector`) and *AllocatorType* (`std::allocator`), the default value for `array_t` is: + +```cpp +std::vector< + basic_json, // value_type + std::allocator // allocator_type +> +``` + +### Limits + +[RFC 7159](http://rfc7159.net/rfc7159) specifies: + +> An implementation may set limits on the maximum depth of nesting. + +In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the `max_size` function of a JSON array. + +### Storage + +Arrays are stored as pointers in a `basic_json` type. That is, for any access to array values, a pointer of type `array_t*` must be dereferenced. + + +## Strings + +[RFC 7159](http://rfc7159.net/rfc7159) describes JSON strings as follows: + +> A string is a sequence of zero or more Unicode characters. + +Unicode values are split by the JSON class into byte-sized characters during deserialization. + +### Default type + +With the default values for *StringType* (`std::string`), the default value for `string_t` is `#!cpp std::string`. + +### Encoding + +Strings are stored in UTF-8 encoding. Therefore, functions like `std::string::size()` or `std::string::length()` return the number of **bytes** in the string rather than the number of characters or glyphs. + +### String comparison + +[RFC 7159](http://rfc7159.net/rfc7159) states: + +> Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that `"a\\b"` and `"a\u005Cb"` are not equal. + +This implementation is interoperable as it does compare strings code unit by code unit. + +### Storage + +String values are stored as pointers in a `basic_json` type. That is, for any access to string values, a pointer of type `string_t*` must be dereferenced. + + +## Booleans + +[RFC 7159](http://rfc7159.net/rfc7159) implicitly describes a boolean as a type which differentiates the two literals `true` and `false`. + +### Default type + +With the default values for *BooleanType* (`#!cpp bool`), the default value for `boolean_t` is `#!cpp bool`. + +### Storage + +Boolean values are stored directly inside a `basic_json` type. + +## Numbers + +[RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows: + +> The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted. + +This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, `number_integer_t`, `number_unsigned_t`, and `number_float_t` are used. + +### Default types + +With the default values for *NumberIntegerType* (`std::int64_t`), the default value for `number_integer_t` is `std::int64_t`. +With the default values for *NumberUnsignedType* (`std::uint64_t`), the default value for `number_unsigned_t` is `std::uint64_t`. +With the default values for *NumberFloatType* (`#!cpp double`), the default value for `number_float_t` is `#!cpp double`. + +### Default behavior + +- The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal `#!c 010` will be serialized to `#!c 8`. During deserialization, leading zeros yield an error. +- Not-a-number (NaN) values will be serialized to `#!json null`. + +### Limits + +[RFC 7159](http://rfc7159.net/rfc7159) specifies: + +> An implementation may set limits on the range and precision of numbers. + +When the default type is used, the maximal integer number that can be stored is `#!c 9223372036854775807` (`INT64_MAX`) and the minimal integer number that can be stored is `#!c -9223372036854775808` (`INT64_MIN`). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as `number_unsigned_t` or `number_float_t`. + +When the default type is used, the maximal unsigned integer number that can be stored is `#!c 18446744073709551615` (`UINT64_MAX`) and the minimal integer number that can be stored is `#!c 0`. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as `number_integer_t` or `number_float_t`. + +[RFC 7159](http://rfc7159.net/rfc7159) further states: + +> Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values. + +As this range is a subrange of the exactly supported range [`INT64_MIN`, `INT64_MAX`], this class's integer type is interoperable. + +[RFC 7159](http://rfc7159.net/rfc7159) states: + +> This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision. + +This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than `#!c -1.79769313486232e+308` and values greater than `#!c 1.79769313486232e+308` will be stored as NaN internally and be serialized to `#!json null`. + +### Storage + +Integer number values, unsigned integer number values, and floating-point number values are stored directly inside a `basic_json` type. diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml index f505c3a1..8e31be07 100644 --- a/doc/mkdocs/mkdocs.yml +++ b/doc/mkdocs/mkdocs.yml @@ -49,6 +49,7 @@ nav: - features/merge_patch.md - features/enum_conversion.md - features/sax_interface.md + - features/types.md - Integration: - integration/index.md - integration/cmake.md @@ -98,6 +99,8 @@ markdown_extensions: - pymdownx.snippets: base_path: docs check_paths: true + - plantuml_markdown: + format: svg plugins: - search: @@ -105,3 +108,8 @@ plugins: - mkdocs-simple-hooks: hooks: on_post_build: "docs.hooks:copy_doxygen" + - minify: + minify_html: true + +extra_javascript: + - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML diff --git a/doc/mkdocs/requirements.txt b/doc/mkdocs/requirements.txt index 72a03a9a..b64e9b87 100644 --- a/doc/mkdocs/requirements.txt +++ b/doc/mkdocs/requirements.txt @@ -1,8 +1,11 @@ click>=7.1.2 future>=0.18.2 +htmlmin>=0.1.12 +httplib2>=0.18.1 importlib-metadata>=1.6.0 Jinja2>=2.11.2 joblib>=0.15.1 +jsmin>=2.2.2 livereload>=2.6.1 lunr>=0.5.8 Markdown>=3.2.2 @@ -11,8 +14,11 @@ MarkupSafe>=1.1.1 mkdocs>=1.1.2 mkdocs-material>=5.2.1 mkdocs-material-extensions>=1.0 +mkdocs-minify-plugin>=0.3.0 mkdocs-simple-hooks>=0.1.1 nltk>=3.5 +plantuml>=0.3.0 +plantuml-markdown>=3.2.2 Pygments>=2.6.1 pymdown-extensions>=7.1 PyYAML>=5.3.1 From 95a3c76643cf6b66fb5e4419891d95a814784df8 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 24 May 2020 22:45:38 +0200 Subject: [PATCH 04/73] :memo: make examples collapsible --- doc/mkdocs/Makefile | 2 +- .../docs/features/binary_formats/bson.md | 4 +- .../docs/features/binary_formats/cbor.md | 4 +- .../docs/features/binary_formats/index.md | 6 +- .../features/binary_formats/messagepack.md | 4 +- .../docs/features/binary_formats/ubjson.md | 4 +- doc/mkdocs/docs/features/binary_values.md | 312 +++++++++--------- doc/mkdocs/docs/features/iterators.md | 129 ++++++++ doc/mkdocs/docs/features/json_patch.md | 63 ++-- doc/mkdocs/docs/features/merge_patch.md | 41 +-- doc/mkdocs/docs/features/sax_interface.md | 2 +- doc/mkdocs/docs/features/types.md | 4 + doc/mkdocs/docs/home/exceptions.md | 196 ++++++++--- doc/mkdocs/mkdocs.yml | 1 + 14 files changed, 502 insertions(+), 270 deletions(-) create mode 100644 doc/mkdocs/docs/features/iterators.md diff --git a/doc/mkdocs/Makefile b/doc/mkdocs/Makefile index 68b1e119..bb97420a 100644 --- a/doc/mkdocs/Makefile +++ b/doc/mkdocs/Makefile @@ -9,7 +9,7 @@ prepare_files: clean # create subfolders mkdir docs/images docs/examples # copy images - cp -vr ../json.gif docs/images + cp -vr ../json.gif ../images/range-begin-end.svg ../images/range-rbegin-rend.svg docs/images # copy examples cp -vr ../examples/*.cpp ../examples/*.output docs/examples diff --git a/doc/mkdocs/docs/features/binary_formats/bson.md b/doc/mkdocs/docs/features/binary_formats/bson.md index 487ff722..0ed2a786 100644 --- a/doc/mkdocs/docs/features/binary_formats/bson.md +++ b/doc/mkdocs/docs/features/binary_formats/bson.md @@ -36,7 +36,7 @@ binary | *any value* | binary | 0x05 and the keys may not contain U+0000, since they are serialized a zero-terminated c-strings. -!!! example +??? example ```cpp --8<-- "examples/to_bson.cpp" @@ -81,7 +81,7 @@ Min Key | 0xFF | *unsupported* The mapping is **incomplete**. The unsupported mappings are indicated in the table above. -!!! example +??? example ```cpp --8<-- "examples/from_bson.cpp" diff --git a/doc/mkdocs/docs/features/binary_formats/cbor.md b/doc/mkdocs/docs/features/binary_formats/cbor.md index 6f2b8273..daea3a51 100644 --- a/doc/mkdocs/docs/features/binary_formats/cbor.md +++ b/doc/mkdocs/docs/features/binary_formats/cbor.md @@ -84,7 +84,7 @@ binary | *size*: 4294967296..18446744073709551615 | byte string (8 by - half-precision floats (0xF9) - break (0xFF) -!!! example +??? example ```cpp --8<-- "examples/to_cbor.cpp" @@ -159,7 +159,7 @@ Double-Precision Float | number_float | 0xFB CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected. -!!! example +??? example ```cpp --8<-- "examples/from_cbor.cpp" diff --git a/doc/mkdocs/docs/features/binary_formats/index.md b/doc/mkdocs/docs/features/binary_formats/index.md index 6d0ff82f..55f963c2 100644 --- a/doc/mkdocs/docs/features/binary_formats/index.md +++ b/doc/mkdocs/docs/features/binary_formats/index.md @@ -5,7 +5,7 @@ Though JSON is a ubiquitous data format, it is not a very compact format suitabl - [BSON](bson.md) (Binary JSON), - [CBOR](cbor.md) (Concise Binary Object Representation), - [MessagePack](messagepack.md), and -- [UBJSON](ubjson.md) (Universal Binary JSON Specification) +- [UBJSON](ubjson.md) (Universal Binary JSON) to efficiently encode JSON values to byte vectors and to decode such vectors. @@ -29,6 +29,8 @@ to efficiently encode JSON values to byte vectors and to decode such vectors. | MessagePack | supported | supported | | UBJSON | not supported | not supported | +See [binary values](../binary_values.md) for more information. + ### Sizes | Format | canada.json | twitter.json | citm_catalog.json | jeopardy.json | @@ -39,3 +41,5 @@ to efficiently encode JSON values to byte vectors and to decode such vectors. | UBJSON | 53,2 % | 91,3 % | 78,2 % | 96,6 % | | UBJSON (size) | 58,6 % | 92,3 % | 86,8 % | 97,4 % | | UBJSON (size+type) | 55,9 % | 92,3 % | 85,0 % | 95,0 % | + +Sizes compared to minified JSON value. diff --git a/doc/mkdocs/docs/features/binary_formats/messagepack.md b/doc/mkdocs/docs/features/binary_formats/messagepack.md index 3261cf05..ed061056 100644 --- a/doc/mkdocs/docs/features/binary_formats/messagepack.md +++ b/doc/mkdocs/docs/features/binary_formats/messagepack.md @@ -69,7 +69,7 @@ binary | *size*: 65536..4294967295 | bin 32 | 0xC6 If NaN or Infinity are stored inside a JSON number, they are serialized properly. function which serializes NaN or Infinity to `null`. -!!! example +??? example ```cpp --8<-- "examples/to_msgpack.cpp" @@ -129,7 +129,7 @@ negative fixint | number_integer | 0xE0-0xFF Any MessagePack output created by `to_msgpack` can be successfully parsed by `from_msgpack`. -!!! example +??? example ```cpp --8<-- "examples/from_msgpack.cpp" diff --git a/doc/mkdocs/docs/features/binary_formats/ubjson.md b/doc/mkdocs/docs/features/binary_formats/ubjson.md index b0fa1d08..cb01cfde 100644 --- a/doc/mkdocs/docs/features/binary_formats/ubjson.md +++ b/doc/mkdocs/docs/features/binary_formats/ubjson.md @@ -81,7 +81,7 @@ object | *see notes on optimized format* | map | `{` different JSON object. -!!! example +??? example ```cpp --8<-- "examples/to_ubjson.cpp" @@ -120,7 +120,7 @@ object | object (optimized values are supported) | `{` The mapping is **complete** in the sense that any UBJSON value can be converted to a JSON value. -!!! example +??? example ```cpp --8<-- "examples/from_ubjson.cpp" diff --git a/doc/mkdocs/docs/features/binary_values.md b/doc/mkdocs/docs/features/binary_values.md index 764b75be..e268a5b5 100644 --- a/doc/mkdocs/docs/features/binary_values.md +++ b/doc/mkdocs/docs/features/binary_values.md @@ -88,29 +88,29 @@ Binary values are serialized differently according to the formats. JSON does not have a binary type, and this library does not introduce a new type as this would break conformance. Instead, binary values are serialized as an object with two keys: `bytes` holds an array of integers, and `subtype` is an integer or `null`. -!!! example +??? example - Code: + Code: - ```cpp - // create a binary value of subtype 42 - json j; - j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); - - // serialize to standard output - std::cout << j.dump(2) << std::endl; - ``` - - Output: - - ```json - { - "binary": { - "bytes": [202, 254, 186, 190], - "subtype": 42 - } - } - ``` + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + + // serialize to standard output + std::cout << j.dump(2) << std::endl; + ``` + + Output: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` !!! warning "No roundtrip for binary values" @@ -120,79 +120,79 @@ JSON does not have a binary type, and this library does not introduce a new type [BSON](binary_formats/bson.md) supports binary values and subtypes. If a subtype is given, it is used and added as unsigned 8-bit integer. If no subtype is given, the generic binary subtype 0x00 is used. -!!! example +??? example - Code: - - ```cpp - // create a binary value of subtype 42 - json j; - j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + Code: - // convert to BSON - auto v = json::to_bson(j); - ``` - - `v` is a `std::vector` with the following 22 elements: - - ```c - 0x16 0x00 0x00 0x00 // number of bytes in the document - 0x05 // binary value - 0x62 0x69 0x6E 0x61 0x72 0x79 0x00 // key "binary" + null byte - 0x04 0x00 0x00 0x00 // number of bytes - 0x2a // subtype - 0xCA 0xFE 0xBA 0xBE // content - 0x00 // end of the document - ``` + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); - Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + // convert to BSON + auto v = json::to_bson(j); + ``` + + `v` is a `std::vector` with the following 22 elements: + + ```c + 0x16 0x00 0x00 0x00 // number of bytes in the document + 0x05 // binary value + 0x62 0x69 0x6E 0x61 0x72 0x79 0x00 // key "binary" + null byte + 0x04 0x00 0x00 0x00 // number of bytes + 0x2a // subtype + 0xCA 0xFE 0xBA 0xBE // content + 0x00 // end of the document + ``` - ```json - { - "binary": { - "bytes": [202, 254, 186, 190], - "subtype": 42 - } - } - ``` + Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` ### CBOR [CBOR](binary_formats/cbor.md) supports binary values, but no subtypes. Any binary value will be serialized as byte strings. The library will choose the smallest representation using the length of the byte array. -!!! example +??? example - Code: - - ```cpp - // create a binary value of subtype 42 (will be ignored by CBOR) - json j; - j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + Code: - // convert to CBOR - auto v = json::to_cbor(j); - ``` - - `v` is a `std::vector` with the following 13 elements: - - ```c - 0xA1 // map(1) - 0x66 // text(6) - 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" - 0x44 // bytes(4) - 0xCA 0xFE 0xBA 0xBE // content - ``` + ```cpp + // create a binary value of subtype 42 (will be ignored by CBOR) + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); - Note the subtype (42) is **not** serialized, and deserializing `v` would yield the following value: + // convert to CBOR + auto v = json::to_cbor(j); + ``` + + `v` is a `std::vector` with the following 13 elements: + + ```c + 0xA1 // map(1) + 0x66 // text(6) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x44 // bytes(4) + 0xCA 0xFE 0xBA 0xBE // content + ``` - ```json - { - "binary": { - "bytes": [202, 254, 186, 190], - "subtype": null - } - } - ``` + Note the subtype (42) is **not** serialized, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": null + } + } + ``` ### MessagePack @@ -200,95 +200,95 @@ JSON does not have a binary type, and this library does not introduce a new type If no subtype is given, the bin family (bin8, bin16, bin32) is used. -!!! example +??? example - Code: - - ```cpp - // create a binary value of subtype 42 - json j; - j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + Code: - // convert to MessagePack - auto v = json::to_msgpack(j); - ``` - - `v` is a `std::vector` with the following 14 elements: - - ```c - 0x81 // fixmap1 - 0xA6 // fixstr6 - 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" - 0xD6 // fixext4 - 0x2A // subtype - 0xCA 0xFE 0xBA 0xBE // content - ``` + ```cpp + // create a binary value of subtype 42 + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); - Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + // convert to MessagePack + auto v = json::to_msgpack(j); + ``` + + `v` is a `std::vector` with the following 14 elements: + + ```c + 0x81 // fixmap1 + 0xA6 // fixstr6 + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0xD6 // fixext4 + 0x2A // subtype + 0xCA 0xFE 0xBA 0xBE // content + ``` - ```json - { - "binary": { - "bytes": [202, 254, 186, 190], - "subtype": 42 - } - } - ``` + Note that the serialization preserves the subtype, and deserializing `v` would yield the following value: + + ```json + { + "binary": { + "bytes": [202, 254, 186, 190], + "subtype": 42 + } + } + ``` ### UBJSON [UBJSON](binary_formats/ubjson.md) neither supports binary values nor subtypes, and proposes to serialize binary values as array of uint8 values. This translation is implemented by the library. -!!! example +??? example - Code: - - ```cpp - // create a binary value of subtype 42 (will be ignored in UBJSON) - json j; - j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); + Code: - // convert to UBJSON - auto v = json::to_msgpack(j); - ``` - - `v` is a `std::vector` with the following 20 elements: - - ```c - 0x7B // '{' - 0x69 0x06 // i 6 (length of the key) - 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" - 0x5B // '[' - 0x55 0xCA 0x55 0xFE 0x55 0xBA 0x55 0xBE // content (each byte prefixed with 'U') - 0x5D // ']' - 0x7D // '}' - ``` + ```cpp + // create a binary value of subtype 42 (will be ignored in UBJSON) + json j; + j["binary"] = json::binary({0xCA, 0xFE, 0xBA, 0xBE}, 42); - The following code uses the type and size optimization for UBJSON: + // convert to UBJSON + auto v = json::to_msgpack(j); + ``` + + `v` is a `std::vector` with the following 20 elements: + + ```c + 0x7B // '{' + 0x69 0x06 // i 6 (length of the key) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x5B // '[' + 0x55 0xCA 0x55 0xFE 0x55 0xBA 0x55 0xBE // content (each byte prefixed with 'U') + 0x5D // ']' + 0x7D // '}' + ``` - ```cpp - // convert to UBJSON using the size and type optimization - auto v = json::to_ubjson(j, true, true); - ``` + The following code uses the type and size optimization for UBJSON: - The resulting vector has 23 elements; the optimization is not effective for examples with few values: + ```cpp + // convert to UBJSON using the size and type optimization + auto v = json::to_ubjson(j, true, true); + ``` - ```c - 0x7B // '{' - 0x24 // '$' type of the object elements - 0x5B // '[' array - 0x23 0x69 0x01 // '#' i 1 number of object elements - 0x69 0x06 // i 6 (length of the key) - 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" - 0x24 0x55 // '$' 'U' type of the array elements: unsinged integers - 0x23 0x69 0x04 // '#' i 4 number of array elements - 0xCA 0xFE 0xBA 0xBE // content - ``` + The resulting vector has 23 elements; the optimization is not effective for examples with few values: - Note that subtype (42) is **not** serialized and that UBJSON has **no binary type**, and deserializing `v` would yield the following value: + ```c + 0x7B // '{' + 0x24 // '$' type of the object elements + 0x5B // '[' array + 0x23 0x69 0x01 // '#' i 1 number of object elements + 0x69 0x06 // i 6 (length of the key) + 0x62 0x69 0x6E 0x61 0x72 0x79 // "binary" + 0x24 0x55 // '$' 'U' type of the array elements: unsinged integers + 0x23 0x69 0x04 // '#' i 4 number of array elements + 0xCA 0xFE 0xBA 0xBE // content + ``` - ```json - { - "binary": [202, 254, 186, 190] - } - ``` + Note that subtype (42) is **not** serialized and that UBJSON has **no binary type**, and deserializing `v` would yield the following value: + + ```json + { + "binary": [202, 254, 186, 190] + } + ``` diff --git a/doc/mkdocs/docs/features/iterators.md b/doc/mkdocs/docs/features/iterators.md new file mode 100644 index 00000000..d0020e9b --- /dev/null +++ b/doc/mkdocs/docs/features/iterators.md @@ -0,0 +1,129 @@ +# Iterators + +## Overview + +A JSON value is a container and allows access via iterators. + +![](../images/range-begin-end.svg) + +![](../images/range-rbegin-rend.svg) + +## Iterator getters + +### `begin()` + +??? example + + The following code shows an example for `begin()`. + + ```cpp + --8<-- "examples/begin.cpp" + ``` + + Output: + + ```json + --8<-- "examples/begin.output" + ``` + +### `cbegin()` + +??? example + + The following code shows an example for `cbegin()`. + + ```cpp + --8<-- "examples/cbegin.cpp" + ``` + + Output: + + ```json + --8<-- "examples/cbegin.output" + ``` + +### `end()` + +??? example + + The following code shows an example for `end()`. + + ```cpp + --8<-- "examples/end.cpp" + ``` + + Output: + + ```json + --8<-- "examples/end.output" + ``` + +### `cend()` + +??? example + + The following code shows an example for `cend()`. + + ```cpp + --8<-- "examples/cend.cpp" + ``` + + Output: + + ```json + --8<-- "examples/cend.output" + ``` + +### `rbegin()` + +??? example + + The following code shows an example for `rbegin()`. + + ```cpp + --8<-- "examples/rbegin.cpp" + ``` + + Output: + + ```json + --8<-- "examples/rbegin.output" + ``` + +### `rend()` + +??? example + + The following code shows an example for `rend()`. + + ```cpp + --8<-- "examples/rend.cpp" + ``` + + Output: + + ```json + --8<-- "examples/rend.output" + ``` + +### `items()` + +??? example + + The following code shows an example for `items()`. + + ```cpp + --8<-- "examples/items.cpp" + ``` + + Output: + + ``` + --8<-- "examples/items.output" + ``` + +## Iterator invalidation + +| Operations | invalidated iterators | +| ---------- | --------------------- | +| `clear` | all | diff --git a/doc/mkdocs/docs/features/json_patch.md b/doc/mkdocs/docs/features/json_patch.md index d496a815..24cebdd9 100644 --- a/doc/mkdocs/docs/features/json_patch.md +++ b/doc/mkdocs/docs/features/json_patch.md @@ -1,28 +1,45 @@ -# JSON Patch +# JSON Patch and Diff -On top of this, **JSON Patch** ([RFC 6902](https://tools.ietf.org/html/rfc6902)) allows to describe differences between two JSON values - effectively allowing patch and diff operations known from Unix. +## Patches -```cpp +JSON Patch ([RFC 6902](https://tools.ietf.org/html/rfc6902)) defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With the `patch` function, a JSON Patch is applied to the current JSON value by executing all operations from the patch. -// a JSON patch (RFC 6902) -json j_patch = R"([ - { "op": "replace", "path": "/baz", "value": "boo" }, - { "op": "add", "path": "/hello", "value": ["world"] }, - { "op": "remove", "path": "/foo"} -])"_json; +??? example -// apply the patch -json j_result = j_original.patch(j_patch); -// { -// "baz": "boo", -// "hello": ["world"] -// } + The following code shows how a JSON patch is applied to a value. -// calculate a JSON patch from two JSON values -json::diff(j_result, j_original); -// [ -// { "op":" replace", "path": "/baz", "value": ["one", "two", "three"] }, -// { "op": "remove","path": "/hello" }, -// { "op": "add", "path": "/foo", "value": "bar" } -// ] -``` + ```cpp + --8<-- "examples/patch.cpp" + ``` + + Output: + + ```json + --8<-- "examples/patch.output" + ``` + +## Diff + +The library can also calculate a JSON patch (i.e., a **diff**) given two JSON values. + +!!! success "Invariant" + + For two JSON values *source* and *target*, the following code yields always true: + + ```cüü + source.patch(diff(source, target)) == target; + ``` + +??? example + + The following code shows how a JSON patch is created as a diff for two JSON values. + + ```cpp + --8<-- "examples/diff.cpp" + ``` + + Output: + + ```json + --8<-- "examples/diff.output" + ``` diff --git a/doc/mkdocs/docs/features/merge_patch.md b/doc/mkdocs/docs/features/merge_patch.md index ffeef945..84e0ab02 100644 --- a/doc/mkdocs/docs/features/merge_patch.md +++ b/doc/mkdocs/docs/features/merge_patch.md @@ -1,31 +1,20 @@ # JSON Merge Patch -The library supports **JSON Merge Patch** ([RFC 7386](https://tools.ietf.org/html/rfc7386)) as a patch format. Instead of using JSON Pointer (see above) to specify values to be manipulated, it describes the changes using a syntax that closely mimics the document being modified. +The library supports JSON Merge Patch ([RFC 7386](https://tools.ietf.org/html/rfc7386)) as a patch format. +The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value. -```cpp -// a JSON value -json j_document = R"({ - "a": "b", - "c": { - "d": "e", - "f": "g" - } -})"_json; +Instead of using [JSON Pointer](json_pointer.md) to specify values to be manipulated, it describes the changes using a syntax that closely mimics the document being modified. -// a patch -json j_patch = R"({ - "a":"z", - "c": { - "f": null - } -})"_json; +??? example -// apply the patch -j_document.merge_patch(j_patch); -// { -// "a": "z", -// "c": { -// "d": "e" -// } -// } -``` + The following code shows how a JSON Merge Patch is applied to a JSON document. + + ```cpp + --8<-- "examples/merge_patch.cpp" + ``` + + Output: + + ```json + --8<-- "examples/merge_patch.output" + ``` diff --git a/doc/mkdocs/docs/features/sax_interface.md b/doc/mkdocs/docs/features/sax_interface.md index 88ed1100..b25a59cc 100644 --- a/doc/mkdocs/docs/features/sax_interface.md +++ b/doc/mkdocs/docs/features/sax_interface.md @@ -3,7 +3,7 @@ The library uses a SAX-like interface with the following functions: ```plantuml -class sax { +interface json::sax_t { + {abstract} bool null() + {abstract} bool boolean(bool val) diff --git a/doc/mkdocs/docs/features/types.md b/doc/mkdocs/docs/features/types.md index 72a09f31..bf294906 100644 --- a/doc/mkdocs/docs/features/types.md +++ b/doc/mkdocs/docs/features/types.md @@ -17,6 +17,8 @@ By default, JSON values are stored as follows: Note there are three different types for numbers - when parsing JSON text, the best fitting type is chosen. +## Storage + ```plantuml enum value_t { null @@ -44,8 +46,10 @@ class json_value << (U,orchid) >> { } class basic_json { + -- type and value -- value_t m_type json_value m_value + -- derived types -- + typedef object_t + typedef array_t + typedef binary_t diff --git a/doc/mkdocs/docs/home/exceptions.md b/doc/mkdocs/docs/home/exceptions.md index 669727ce..92dfb43b 100644 --- a/doc/mkdocs/docs/home/exceptions.md +++ b/doc/mkdocs/docs/home/exceptions.md @@ -6,6 +6,26 @@ All exceptions inherit from class `json::exception` (which in turn inherits from `std::exception`). It is used as the base class for all exceptions thrown by the `basic_json` class. This class can hence be used as "wildcard" to catch exceptions. +```plantuml +std::exception <|-- json::exception +json::exception <|-- json::parse_error +json::exception <|-- json::invalid_iterator +json::exception <|-- json::type_error +json::exception <|-- json::out_of_range +json::exception <|-- json::other_error + +interface std::exception {} + +class json::exception { + + const int id + + const char* what() const +} + +class json::parse_error { + + const std::size_t byte +} +``` + ### Switch off exceptions Exceptions are used widely within the library. They can, however, be switched off with either using the compiler flag `-fno-exceptions` or by defining the symbol `JSON_NOEXCEPTION`. In this case, exceptions are replaced by `abort()` calls. You can further control this behavior by defining `JSON_THROW_USER` (overriding `#!cpp throw`), `JSON_TRY_USER` (overriding `#!cpp try`), and `JSON_CATCH_USER` (overriding `#!cpp catch`). @@ -29,12 +49,26 @@ Exceptions have ids 1xx. is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). +??? example + + The following code shows how a `parse_error` exception can be caught. + + ```cpp + --8<-- "examples/parse_error.cpp" + ``` + + Output: + + ``` + --8<-- "examples/parse_error.output" + ``` + ### json.exception.parse_error.101 This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member `byte` indicates the error position. -!!! example +!!! failure "Example message" Input ended prematurely: @@ -93,7 +127,7 @@ This error indicates a syntax error while deserializing a JSON text. The error m JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. -!!! example +!!! failure "Example message" ``` parse error at 14: missing or wrong low surrogate @@ -103,7 +137,7 @@ JSON uses the `\uxxxx` format to describe Unicode characters. Code points above Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. -!!! example +!!! failure "Example message" ``` parse error: code points above 0x10FFFF are invalid @@ -113,7 +147,7 @@ Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are inva [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.104] parse error: JSON patch must be an array of objects @@ -123,7 +157,7 @@ Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are inva An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.105] parse error: operation 'add' must have member 'value' @@ -139,7 +173,7 @@ An operation of a JSON Patch document must contain exactly one "op" member, whos An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.106] parse error: array index '01' must not begin with '0' @@ -149,7 +183,7 @@ An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901 A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.107] parse error at byte 1: JSON pointer must be empty or begin with '/' - was: 'foo' @@ -159,7 +193,7 @@ A JSON Pointer must be a Unicode string containing a sequence of zero or more re In a JSON Pointer, only `~0` and `~1` are valid escape sequences. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.108] parse error: escape character '~' must be followed with '0' or '1' @@ -169,7 +203,7 @@ In a JSON Pointer, only `~0` and `~1` are valid escape sequences. A JSON Pointer array index must be a number. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.109] parse error: array index 'one' is not a number @@ -182,7 +216,7 @@ A JSON Pointer array index must be a number. When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.110] parse error at byte 5: syntax error while parsing CBOR string: unexpected end of input @@ -195,7 +229,7 @@ When parsing CBOR or MessagePack, the byte vector ends before the complete value Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.112] parse error at byte 1: syntax error while parsing CBOR value: invalid byte: 0x1C @@ -205,7 +239,7 @@ Not all types of CBOR or MessagePack are supported. This exception occurs if an While parsing a map key, a value that is not a string has been read. -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.113] parse error at byte 2: syntax error while parsing CBOR string: expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0xFF @@ -221,7 +255,7 @@ While parsing a map key, a value that is not a string has been read. The parsing of the corresponding BSON record type is not implemented (yet). -!!! example +!!! failure "Example message" ``` [json.exception.parse_error.114] parse error at byte 5: Unsupported BSON record type 0xFF @@ -234,11 +268,25 @@ the expected semantics. Exceptions have ids 2xx. +??? example + + The following code shows how an `invalid_iterator` exception can be caught. + + ```cpp + --8<-- "examples/invalid_iterator.cpp" + ``` + + Output: + + ``` + --8<-- "examples/invalid_iterator.output" + ``` + ### json.exception.invalid_iterator.201 The iterators passed to constructor `basic_json(InputIT first, InputIT last)` are not compatible, meaning they do not belong to the same container. Therefore, the range (`first`, `last`) is invalid. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.201] iterators are not compatible @@ -248,7 +296,7 @@ The iterators passed to constructor `basic_json(InputIT first, InputIT last)` ar In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.202] iterator does not fit current value @@ -261,7 +309,7 @@ In an erase or insert function, the passed iterator @a pos does not belong to th Either iterator passed to function `erase(IteratorType` first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.203] iterators do not fit current value @@ -271,7 +319,7 @@ Either iterator passed to function `erase(IteratorType` first, IteratorType last When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (`begin(),` `end()),` because this is the only way the single stored value is expressed. All other ranges are invalid. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.204] iterators out of range @@ -281,7 +329,7 @@ When an iterator range for a primitive type (number, boolean, or string) is pass When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the `begin()` iterator, because it is the only way to address the stored value. All other iterators are invalid. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.205] iterator out of range @@ -291,7 +339,7 @@ When an iterator for a primitive type (number, boolean, or string) is passed to The iterators passed to constructor `basic_json(InputIT first, InputIT last)` belong to a JSON null value and hence to not define a valid range. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.206] cannot construct with iterators from null @@ -301,7 +349,7 @@ The iterators passed to constructor `basic_json(InputIT first, InputIT last)` be The `key()` member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.207] cannot use key() for non-object iterators @@ -312,7 +360,7 @@ The `key()` member function can only be used on iterators belonging to a JSON ob The `operator[]` to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.208] cannot use operator[] for object iterators @@ -322,7 +370,7 @@ The `operator[]` to specify a concrete offset cannot be used on iterators belong The offset operators (`+`, `-`, `+=`, `-=`) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.209] cannot use offsets with object iterators @@ -332,7 +380,7 @@ The offset operators (`+`, `-`, `+=`, `-=`) cannot be used on iterators belongin The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (`first`, `last`) is invalid. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.210] iterators do not fit @@ -342,7 +390,7 @@ The iterator range passed to the insert function are not compatible, meaning the The iterator range passed to the insert function must not be a subrange of the container to insert to. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.211] passed iterators may not belong to container @@ -352,7 +400,7 @@ The iterator range passed to the insert function must not be a subrange of the c When two iterators are compared, they must belong to the same container. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.212] cannot compare iterators of different containers @@ -362,7 +410,7 @@ When two iterators are compared, they must belong to the same container. The order of object iterators cannot be compared, because JSON objects are unordered. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.213] cannot compare order of object iterators @@ -372,7 +420,7 @@ The order of object iterators cannot be compared, because JSON objects are unord Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to `begin()`. -!!! example +!!! failure "Example message" ``` [json.exception.invalid_iterator.214] cannot get value @@ -385,12 +433,25 @@ This exception is thrown in case of a type error; that is, a library function is Exceptions have ids 3xx. +??? example + + The following code shows how a `type_error` exception can be caught. + + ```cpp + --8<-- "examples/type_error.cpp" + ``` + + Output: + + ``` + --8<-- "examples/type_error.output" + ``` ### json.exception.type_error.301 To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.301] cannot create object from initializer list @@ -400,7 +461,7 @@ To create an object from an initializer list, the initializer list must consist During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.302] type must be object, but is null @@ -413,7 +474,7 @@ During implicit or explicit value conversion, the JSON type must be compatible t To retrieve a reference to a value stored in a `basic_json` object with `get_ref`, the type of the reference must match the value type. For instance, for a JSON array, the `ReferenceType` must be `array_t &`. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.303] incompatible ReferenceType for get_ref, actual type is object @@ -426,7 +487,7 @@ To retrieve a reference to a value stored in a `basic_json` object with `get_ref The `at()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.304] cannot use at() with string @@ -439,7 +500,7 @@ The `at()` member functions can only be executed for certain JSON types. The `operator[]` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.305] cannot use operator[] with a string argument with array @@ -452,7 +513,7 @@ The `operator[]` member functions can only be executed for certain JSON types. The `value()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.306] cannot use value() with number @@ -462,7 +523,7 @@ The `value()` member functions can only be executed for certain JSON types. The `erase()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.307] cannot use erase() with string @@ -472,7 +533,7 @@ The `erase()` member functions can only be executed for certain JSON types. The `push_back()` and `operator+=` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.308] cannot use push_back() with string @@ -482,7 +543,7 @@ The `push_back()` and `operator+=` member functions can only be executed for cer The `insert()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.309] cannot use insert() with array @@ -495,7 +556,7 @@ The `insert()` member functions can only be executed for certain JSON types. The `swap()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.310] cannot use swap() with number @@ -505,7 +566,7 @@ The `swap()` member functions can only be executed for certain JSON types. The `emplace()` and `emplace_back()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.311] cannot use emplace() with number @@ -518,7 +579,7 @@ The `emplace()` and `emplace_back()` member functions can only be executed for c The `update()` member functions can only be executed for certain JSON types. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.312] cannot use update() with array @@ -528,7 +589,7 @@ The `update()` member functions can only be executed for certain JSON types. The `unflatten` function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. -!!! example +!!! failure "Example message" ``` [json.exception.type_error.313] invalid value to unflatten @@ -538,7 +599,7 @@ The `unflatten` function converts an object whose keys are JSON Pointers back in The `unflatten` function only works for an object whose keys are JSON Pointers. -!!! example +!!! failure "Example message" Calling `unflatten()` on an array `#!json [1,2,3]`: @@ -550,7 +611,7 @@ The `unflatten` function only works for an object whose keys are JSON Pointers. The `unflatten()` function only works for an object whose keys are JSON Pointers and whose values are primitive. -!!! example +!!! failure "Example message" Calling `unflatten()` on an object `#!json {"/1", [1,2,3]}`: @@ -562,7 +623,7 @@ The `unflatten()` function only works for an object whose keys are JSON Pointers The `dump()` function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. -!!! example +!!! failure "Example message" Calling `dump()` on a JSON value containing an ISO 8859-1 encoded string: ``` @@ -580,7 +641,7 @@ The `dump()` function only works with UTF-8 encoded strings; that is, if you ass The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) -!!! example +!!! failure "Example message" Serializing `#!json null` to BSON: ``` @@ -602,12 +663,25 @@ This exception is thrown in case a library function is called on an input parame Exceptions have ids 4xx. +??? example + + The following code shows how an `out_of_range` exception can be caught. + + ```cpp + --8<-- "examples/out_of_range.cpp" + ``` + + Output: + + ``` + --8<-- "examples/out_of_range.output" + ``` ### json.exception.out_of_range.401 The provided array index `i` is larger than `size-1`. -!!! example +!!! failure "Example message" ``` array index 3 is out of range @@ -617,7 +691,7 @@ The provided array index `i` is larger than `size-1`. The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. -!!! example +!!! failure "Example message" ``` array index '-' (3) is out of range @@ -627,7 +701,7 @@ The special array index `-` in a JSON Pointer never describes a valid element of The provided key was not found in the JSON object. -!!! example +!!! failure "Example message" ``` key 'foo' not found @@ -637,7 +711,7 @@ The provided key was not found in the JSON object. A reference token in a JSON Pointer could not be resolved. -!!! example +!!! failure "Example message" ``` unresolved reference token 'foo' @@ -647,7 +721,7 @@ A reference token in a JSON Pointer could not be resolved. The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. -!!! example +!!! failure "Example message" ``` JSON pointer has no parent @@ -657,7 +731,7 @@ The JSON Patch operations 'remove' and 'add' can not be applied to the root elem A parsed number could not be stored as without changing it to NaN or INF. -!!! example +!!! failure "Example message" ``` number overflow parsing '10E1000' @@ -667,7 +741,7 @@ A parsed number could not be stored as without changing it to NaN or INF. UBJSON and BSON only support integer numbers up to 9223372036854775807. -!!! example +!!! failure "Example message" ``` number overflow serializing '9223372036854775808' @@ -677,7 +751,7 @@ UBJSON and BSON only support integer numbers up to 9223372036854775807. The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. -!!! example +!!! failure "Example message" ``` excessive array size: 8658170730974374167 @@ -687,7 +761,7 @@ The size (following `#`) of an UBJSON array or object exceeds the maximal capaci Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string. -!!! example +!!! failure "Example message" ``` BSON key cannot contain code point U+0000 (at byte 2) @@ -700,11 +774,25 @@ other exception types. Exceptions have ids 5xx. +??? example + + The following code shows how an `other_error` exception can be caught. + + ```cpp + --8<-- "examples/other_error.cpp" + ``` + + Output: + + ``` + --8<-- "examples/other_error.output" + ``` + ### json.exception.other_error.501 A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. -!!! example +!!! failure "Example message" Executing `#!json {"op":"test", "path":"/baz", "value":"bar"}` on `#!json {"baz": "qux"}`: diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml index 8e31be07..866a41a5 100644 --- a/doc/mkdocs/mkdocs.yml +++ b/doc/mkdocs/mkdocs.yml @@ -44,6 +44,7 @@ nav: - features/binary_formats/messagepack.md - features/binary_formats/ubjson.md - features/binary_values.md + - features/iterators.md - features/json_pointer.md - features/json_patch.md - features/merge_patch.md From 413df0fd88afb452644e2289fafe700afa8c0994 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Mon, 25 May 2020 14:03:11 +0200 Subject: [PATCH 05/73] :memo: add more content to iterator page --- doc/mkdocs/docs/features/iterators.md | 178 +++++++++++++++----------- doc/mkdocs/docs/features/types.md | 1 - 2 files changed, 102 insertions(+), 77 deletions(-) diff --git a/doc/mkdocs/docs/features/iterators.md b/doc/mkdocs/docs/features/iterators.md index d0020e9b..a8b88e2d 100644 --- a/doc/mkdocs/docs/features/iterators.md +++ b/doc/mkdocs/docs/features/iterators.md @@ -2,124 +2,150 @@ ## Overview -A JSON value is a container and allows access via iterators. +A `basic_json` value is a container and allows access via iterators. Depending on the value type, `basic_json` stores zero or more values. -![](../images/range-begin-end.svg) +As for other containers, `begin()` returns an iterator to the first value and `end()` returns an iterator to the value following the last value. The latter iterator is a placeholder and cannot be dereferenced. In case of null values, empty arrays, or empty objects, `begin()` will return `end()`. -![](../images/range-rbegin-rend.svg) +![Illustration from cppreference.com](../images/range-begin-end.svg) -## Iterator getters +### Iteration order for objects -### `begin()` +When iterating over objects, values are ordered with respect to the `object_comparator_t` type which defaults to `std::less`. See the [types documentation](types.md#key-order) for more information. ??? example - The following code shows an example for `begin()`. - ```cpp - --8<-- "examples/begin.cpp" + // create JSON object {"one": 1, "two": 2, "three": 3} + json j; + j["one"] = 1; + j["two"] = 2; + j["three"] = 3; + + for (auto it = j.begin(); it != j.end(); ++it) + { + std::cout << *it << std::endl; + } ``` Output: - + ```json - --8<-- "examples/begin.output" + 1 + 3 + 2 ``` + + The reason for the order is the lexicographic ordering of the object keys "one", "three", "two". -### `cbegin()` +### Access object key during iteration + +The JSON iterators have two member functions, `key()` and `value()` to access the object key and stored value, respectively. When calling `key()` on a non-object iterator, an [invalid_iterator.207](../home/exceptions.md#jsonexceptioninvalid_iterator207) exception is thrown. ??? example - The following code shows an example for `cbegin()`. - ```cpp - --8<-- "examples/cbegin.cpp" + // create JSON object {"one": 1, "two": 2, "three": 3} + json j; + j["one"] = 1; + j["two"] = 2; + j["three"] = 3; + + for (auto it = j.begin(); it != j.end(); ++it) + { + std::cout << it.key() << " : " << it.value() << std::endl; + } ``` Output: - + ```json - --8<-- "examples/cbegin.output" + one : 1 + three : 3 + two : 2 ``` -### `end()` +### Range-based for loops + +C++11 allows to use range-based for loops to iterate over a container. + +```cpp +for (auto it : j_object) +{ + // "it" is of type json::reference and has no key() member + std::cout << "value: " << it << '\n'; +} +``` + +For this reason, the `items()` function allows to access `iterator::key()` and `iterator::value()` during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator. + +```cpp +for (auto& el : j_object.items()) +{ + std::cout << "key: " << el.key() << ", value:" << el.value() << '\n'; +} +``` + +The items() function also allows to use structured bindings (C++17): + +```cpp +for (auto& [key, val] : j_object.items()) +{ + std::cout << "key: " << key << ", value:" << val << '\n'; +} +``` + +!!! note + + When iterating over an array, `key()` will return the index of the element as string. For primitive types (e.g., numbers), `key()` returns an empty string. + +!!! warning + + Using `items()` on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See for more information. + +### Reverse iteration order + +`rbegin()` and `rend()` return iterators in the reverse sequence. + +![Illustration from cppreference.com](../images/range-rbegin-rend.svg) ??? example - The following code shows an example for `end()`. - ```cpp - --8<-- "examples/end.cpp" + json j = {1, 2, 3, 4}; + + for (auto it = j.begin(); it != j.end(); ++it) + { + std::cout << *it << std::endl; + } ``` Output: - + ```json - --8<-- "examples/end.output" + 4 + 3 + 2 + 1 ``` -### `cend()` +### Iterating strings and binary values + +Note that "value" means a JSON value in this setting, not values stored in the underlying containers. That is, `*begin()` returns the complete string or binary array and is also safe the underlying string or binary array is empty. ??? example - The following code shows an example for `cend()`. - ```cpp - --8<-- "examples/cend.cpp" + json j = "Hello, world"; + for (auto it = j.begin(); it != j.end(); ++it) + { + std::cout << *it << std::endl; + } ``` Output: - + ```json - --8<-- "examples/cend.output" - ``` - -### `rbegin()` - -??? example - - The following code shows an example for `rbegin()`. - - ```cpp - --8<-- "examples/rbegin.cpp" - ``` - - Output: - - ```json - --8<-- "examples/rbegin.output" - ``` - -### `rend()` - -??? example - - The following code shows an example for `rend()`. - - ```cpp - --8<-- "examples/rend.cpp" - ``` - - Output: - - ```json - --8<-- "examples/rend.output" - ``` - -### `items()` - -??? example - - The following code shows an example for `items()`. - - ```cpp - --8<-- "examples/items.cpp" - ``` - - Output: - - ``` - --8<-- "examples/items.output" + "Hello, world" ``` ## Iterator invalidation diff --git a/doc/mkdocs/docs/features/types.md b/doc/mkdocs/docs/features/types.md index bf294906..94e40cba 100644 --- a/doc/mkdocs/docs/features/types.md +++ b/doc/mkdocs/docs/features/types.md @@ -31,7 +31,6 @@ enum value_t { number_float binary discarded - } class json_value << (U,orchid) >> { From e3d9b3d755c0f6472c1a76275742216cfd239f82 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 26 May 2020 14:16:13 +0200 Subject: [PATCH 06/73] :memo: add documentation of parser callbacks --- doc/mkdocs/docs/features/parser_callbacks.md | 79 ++++++++++++++++++++ doc/mkdocs/mkdocs.yml | 1 + 2 files changed, 80 insertions(+) create mode 100644 doc/mkdocs/docs/features/parser_callbacks.md diff --git a/doc/mkdocs/docs/features/parser_callbacks.md b/doc/mkdocs/docs/features/parser_callbacks.md new file mode 100644 index 00000000..dbf88849 --- /dev/null +++ b/doc/mkdocs/docs/features/parser_callbacks.md @@ -0,0 +1,79 @@ +# Parser Callbacks + +## Overview + +With a parser callback function, the result of parsing a JSON text can be influenced. When passed to `parse`, it is called on certain events +(passed as `parse_event_t` via parameter `event`) with a set recursion depth `depth` and context JSON value `parsed`. The return value of the +callback function is a boolean indicating whether the element that emitted the callback shall be kept or not. + +The type of the callback function is: + +```cpp +template +using parser_callback_t = + std::function; +``` + + +## Callback event types + +We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values +of the parameters `depth`, `event`, and `parsed`. + +parameter `event` | description | parameter `depth` | parameter `parsed` +------------------ | ----------- | ------------------ | ------------------- +`parse_event_t::object_start` | the parser read `{` and started to process a JSON object | depth of the parent of the JSON object | a JSON value with type discarded +`parse_event_t::key` | the parser read a key of a value in an object | depth of the currently parsed JSON object | a JSON string containing the key +`parse_event_t::object_end` | the parser read `}` and finished processing a JSON object | depth of the parent of the JSON object | the parsed JSON object +`parse_event_t::array_start` | the parser read `[` and started to process a JSON array | depth of the parent of the JSON array | a JSON value with type discarded +`parse_event_t::array_end` | the parser read `]` and finished processing a JSON array | depth of the parent of the JSON array | the parsed JSON array +`parse_event_t::value` | the parser finished reading a JSON value | depth of the value | the parsed JSON value + +??? example + + When parsing the following JSON text, + + ```json + { + "name": "Berlin", + "location": [ + 52.519444, + 13.406667 + ] + } + ``` + + these calls are made to the callback function: + + | event | depth | parsed | + | -------------- | ----- | ------ | + | `object_start` | 0 | *discarded* | + | `key` | 1 | `#!json "name"` | + | `value` | 1 | `#!json "Berlin"` | + | `key` | 1 | `#!json "location"` | + | `array_start` | 1 | *discarded* | + | `value` | 2 | `#!json 52.519444` | + | `value` | 2 | `#!json 13.406667` | + | `array_end` | 1 | `#!json [52.519444,13.406667]` | + | `object_end` | 0 | `#!json {"location":[52.519444,13.406667],"name":"Berlin"}` | + +## Return value + +Discarding a value (i.e., returning `#!c false`) has different effects depending on the context in which function was called: + +- Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read. +- In case a value outside a structured type is skipped, it is replaced with `#!json null`. This case happens if the top-level element is skipped. + +??? example + + The example below demonstrates the `parse()` function with and without callback function. + + ```cpp + --8<-- "examples/parse__string__parser_callback_t.cpp" + ``` + + Output: + + ```json + --8<-- "examples/parse__string__parser_callback_t.output" + ``` diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml index 866a41a5..a53dca2f 100644 --- a/doc/mkdocs/mkdocs.yml +++ b/doc/mkdocs/mkdocs.yml @@ -49,6 +49,7 @@ nav: - features/json_patch.md - features/merge_patch.md - features/enum_conversion.md + - features/parser_callbacks.md - features/sax_interface.md - features/types.md - Integration: From 5684d9a498349ab76a02f98140932762d1bc029a Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Wed, 27 May 2020 12:40:04 -0400 Subject: [PATCH 07/73] unified input API --- .../nlohmann/detail/input/input_adapters.hpp | 249 ++++++++---------- include/nlohmann/json.hpp | 157 ++++------- single_include/nlohmann/json.hpp | 245 ++++++++--------- test/CMakeLists.txt | 1 + test/Makefile | 1 + test/src/unit-user_defined_input.cpp | 115 ++++++++ 6 files changed, 402 insertions(+), 366 deletions(-) create mode 100644 test/src/unit-user_defined_input.cpp diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 7ad26d00..9d868202 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -34,6 +34,8 @@ Input adapter for stdio file access. This adapter read only 1 byte and do not us class file_input_adapter { public: + using char_type = char; + JSON_HEDLEY_NON_NULL(2) explicit file_input_adapter(std::FILE* f) noexcept : m_file(f) @@ -68,6 +70,8 @@ subsequent call for input from the std::istream. class input_stream_adapter { public: + using char_type = char; + ~input_stream_adapter() { // clear stream flags; we use underlying streambuf I/O, do not @@ -113,51 +117,61 @@ class input_stream_adapter std::streambuf* sb = nullptr; }; -/// input adapter for buffer input -class input_buffer_adapter +// General-purpose iterator-based adapter. It might not be as fast as +// theoretically possible for some containers, but it is extremely versatile. +template +class iterator_input_adapter { public: - input_buffer_adapter(const char* b, const std::size_t l) noexcept - : cursor(b), limit(b == nullptr ? nullptr : (b + l)) - {} + using char_type = typename std::iterator_traits::value_type; - // delete because of pointer members - input_buffer_adapter(const input_buffer_adapter&) = delete; - input_buffer_adapter& operator=(input_buffer_adapter&) = delete; - input_buffer_adapter(input_buffer_adapter&&) = default; - input_buffer_adapter& operator=(input_buffer_adapter&&) = delete; + iterator_input_adapter(IteratorType first, IteratorType last) + : current(std::move(first)), end(std::move(last)) {} - std::char_traits::int_type get_character() noexcept + typename std::char_traits::int_type get_character() { - if (JSON_HEDLEY_LIKELY(cursor < limit)) + if (current != end) { - assert(cursor != nullptr and limit != nullptr); - return std::char_traits::to_int_type(*(cursor++)); + auto result = std::char_traits::to_int_type(*current); + std::advance(current, 1); + return result; + } + else + { + return std::char_traits::eof(); } - - return std::char_traits::eof(); } private: - /// pointer to the current character - const char* cursor; - /// pointer past the last character - const char* const limit; + IteratorType current; + IteratorType end; + + template + friend class wide_string_input_helper; + + bool empty() const + { + return current == end; + } + }; -template -struct wide_string_input_helper + +template +struct wide_string_input_helper; + +template +struct wide_string_input_helper { // UTF-32 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (input.empty()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -165,7 +179,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-32 to UTF-8 encoding if (wc < 0x80) @@ -204,19 +218,18 @@ struct wide_string_input_helper } }; -template -struct wide_string_input_helper +template +struct wide_string_input_helper { // UTF-16 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (input.empty()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -224,7 +237,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-16 to UTF-8 encoding if (wc < 0x80) @@ -247,9 +260,9 @@ struct wide_string_input_helper } else { - if (current_wchar < str.size()) + if (!input.empty()) { - const auto wc2 = static_cast(str[current_wchar++]); + const auto wc2 = static_cast(input.get_character()); const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); @@ -259,8 +272,6 @@ struct wide_string_input_helper } else { - // unknown character - ++current_wchar; utf8_bytes[0] = static_cast::int_type>(wc); utf8_bytes_filled = 1; } @@ -269,20 +280,20 @@ struct wide_string_input_helper } }; -template +// Wraps another input apdater to convert wide character types into individual bytes. +template class wide_string_input_adapter { public: - explicit wide_string_input_adapter(const WideStringType& w) noexcept - : str(w) - {} + wide_string_input_adapter(BaseInputAdapter base) + : base_adapter(base) {} - std::char_traits::int_type get_character() noexcept + typename std::char_traits::int_type get_character() noexcept { // check if buffer needs to be filled if (utf8_bytes_index == utf8_bytes_filled) { - fill_buffer(); + fill_buffer(); assert(utf8_bytes_filled > 0); assert(utf8_bytes_index == 0); @@ -295,18 +306,14 @@ class wide_string_input_adapter } private: + BaseInputAdapter base_adapter; + template void fill_buffer() { - wide_string_input_helper::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); + wide_string_input_helper::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); } - /// the wstring to process - const WideStringType& str; - - /// index of the current wchar in str - std::size_t current_wchar = 0; - /// a buffer for UTF-8 bytes std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; @@ -316,6 +323,52 @@ class wide_string_input_adapter std::size_t utf8_bytes_filled = 0; }; + +template +struct iterator_input_adapter_factory +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using adapter_type = iterator_input_adapter; + + static adapter_type create(IteratorType begin, IteratorType end) + { + return adapter_type(std::move(begin), std::move(end)); + } +}; + +template +struct iterator_input_adapter_factory::value_type)>1)>::type > + { + + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType begin, IteratorType end) +{ + return adapter_type(base_adapter_type(std::move(begin), std::move(end))); +} + }; + +// General purpose iterator-based input +template +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType begin, IteratorType end) +{ + using factory_type = iterator_input_adapter_factory; + return factory_type::create(begin, end); +} + +// Convenience shorthand from container to iterator +template +auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) +{ + return input_adapter(begin(container), end(container)); +} + +// Special cases with fast paths inline file_input_adapter input_adapter(std::FILE* file) { return file_input_adapter(file); @@ -331,97 +384,22 @@ inline input_stream_adapter input_adapter(std::istream&& stream) return input_stream_adapter(stream); } +using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); + +// Null-delimited strings, and the like. template::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> -input_buffer_adapter input_adapter(CharT b, std::size_t l) +contiguous_bytes_input_adapter input_adapter(CharT b) { - return input_buffer_adapter(reinterpret_cast(b), l); + auto length = std::strlen(reinterpret_cast(b)); + auto ptr = reinterpret_cast(b); + return input_adapter(ptr, ptr + length); } -template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> -input_buffer_adapter input_adapter(CharT b) -{ - return input_adapter(reinterpret_cast(b), - std::strlen(reinterpret_cast(b))); -} - -template::iterator_category, std::random_access_iterator_tag>::value, - int>::type = 0> -input_buffer_adapter input_adapter(IteratorType first, IteratorType last) -{ -#ifndef NDEBUG - // assertion to check that the iterator range is indeed contiguous, - // see https://stackoverflow.com/a/35008842/266378 for more discussion - const auto is_contiguous = std::accumulate( - first, last, std::pair(true, 0), - [&first](std::pair res, decltype(*first) val) - { - res.first &= (val == *(std::next(std::addressof(*first), res.second++))); - return res; - }).first; - assert(is_contiguous); -#endif - - // assertion to check that each element is 1 byte long - static_assert( - sizeof(typename iterator_traits::value_type) == 1, - "each element in the iterator range must have the size of 1 byte"); - - const auto len = static_cast(std::distance(first, last)); - if (JSON_HEDLEY_LIKELY(len > 0)) - { - // there is at least one element: use the address of first - return input_buffer_adapter(reinterpret_cast(&(*first)), len); - } - else - { - // the address of first cannot be used: use nullptr - return input_buffer_adapter(nullptr, len); - } -} - -inline wide_string_input_adapter input_adapter(const std::wstring& ws) -{ - return wide_string_input_adapter(ws); -} - - -inline wide_string_input_adapter input_adapter(const std::u16string& ws) -{ - return wide_string_input_adapter(ws); -} - -inline wide_string_input_adapter input_adapter(const std::u32string& ws) -{ - return wide_string_input_adapter(ws); -} - -template::value and - std::is_base_of()))>::iterator_category>::value, - int>::type = 0> -input_buffer_adapter input_adapter(const ContiguousContainer& c) -{ - return input_adapter(std::begin(c), std::end(c)); -} - - -template -input_buffer_adapter input_adapter(T (&array)[N]) -{ - return input_adapter(std::begin(array), std::end(array)); -} // This class only handles inputs of input_buffer_adapter type. // It's required so that expressions like {ptr, len} can be implicitely casted @@ -436,7 +414,7 @@ class span_input_adapter sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> span_input_adapter(CharT b, std::size_t l) - : ia(reinterpret_cast(b), l) {} + : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} template::type) == 1, int>::type = 0> span_input_adapter(CharT b) - : span_input_adapter(reinterpret_cast(b), - std::strlen(reinterpret_cast(b))) {} + : span_input_adapter(b, std::strlen(reinterpret_cast(b))) {} template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(IteratorType begin, + IteratorType end, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true) + { + basic_json result; + parser(detail::input_adapter(std::move(begin), std::move(end)), cb, allow_exceptions).parse(true, result); + return result; + } JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(detail::span_input_adapter&& i, @@ -6638,10 +6649,17 @@ class basic_json return parser(detail::input_adapter(std::forward(i))).accept(true); } + template + static bool accept(IteratorType begin, IteratorType end) + { + return parser(detail::input_adapter(std::move(begin), std::move(end))).accept(true); + } + static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); } + /*! @brief generate SAX events @@ -6695,7 +6713,7 @@ class basic_json @since version 3.2.0 */ - template + template JSON_HEDLEY_NON_NULL(2) static bool sax_parse(InputType&& i, SAX* sax, input_format_t format = input_format_t::json, @@ -6707,6 +6725,18 @@ class basic_json : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } + template + JSON_HEDLEY_NON_NULL(3) + static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true) + { + auto ia = detail::input_adapter(std::move(first), std::move(last)); + return format == input_format_t::json + ? parser(std::move(ia)).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + template JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, @@ -6720,86 +6750,7 @@ class basic_json } - /*! - @brief deserialize from an iterator range with contiguous storage - - This function reads from an iterator range of a container with contiguous - storage of 1-byte values. Compatible container types include - `std::vector`, `std::string`, `std::array`, `std::valarray`, and - `std::initializer_list`. Furthermore, C-style arrays can be used with - `std::begin()`/`std::end()`. User-defined containers can be used as long - as they implement random-access iterators and a contiguous storage. - - @pre The iterator range is contiguous. Violating this precondition yields - undefined behavior. **This precondition is enforced with an assertion.** - @pre Each element in the range has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with noncompliant iterators and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. - - @tparam IteratorType iterator of container with contiguous storage - @param[in] first begin of the range to parse (included) - @param[in] last end of the range to parse (excluded) - @param[in] cb a parser callback function of type @ref parser_callback_t - which is used to control the deserialization by filtering unwanted values - (optional) - @param[in] allow_exceptions whether to throw exceptions in case of a - parse error (optional, true by default) - - @return deserialized JSON value; in case of a parse error and - @a allow_exceptions set to `false`, the return value will be - value_t::discarded. - - @throw parse_error.101 in case of an unexpected token - @throw parse_error.102 if to_unicode fails or surrogate error - @throw parse_error.103 if to_unicode fails - - @complexity Linear in the length of the input. The parser is a predictive - LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. - - @note A UTF-8 byte order mark is silently ignored. - - @liveexample{The example below demonstrates the `parse()` function reading - from an iterator range.,parse__iteratortype__parser_callback_t} - - @since version 2.0.3 - */ - template::iterator_category>::value, int>::type = 0> - static basic_json parse(IteratorType first, IteratorType last, - const parser_callback_t cb = nullptr, - const bool allow_exceptions = true) - { - basic_json result; - parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result); - return result; - } - - template::iterator_category>::value, int>::type = 0> - static bool accept(IteratorType first, IteratorType last) - { - return parser(detail::input_adapter(first, last)).accept(true); - } - - template::iterator_category>::value, int>::type = 0> - JSON_HEDLEY_NON_NULL(3) - static bool sax_parse(IteratorType first, IteratorType last, SAX* sax) - { - return parser(detail::input_adapter(first, last)).sax_parse(sax); - } + /*! @brief deserialize from stream @@ -7449,16 +7400,16 @@ class basic_json /*! @copydoc from_cbor(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_cbor(A1 && a1, A2 && a2, + static basic_json from_cbor(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7469,7 +7420,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7575,16 +7527,16 @@ class basic_json /*! @copydoc from_msgpack(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_msgpack(A1 && a1, A2 && a2, + static basic_json from_msgpack(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7596,7 +7548,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7678,16 +7631,16 @@ class basic_json /*! @copydoc from_ubjson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_ubjson(A1 && a1, A2 && a2, + static basic_json from_ubjson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7698,7 +7651,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7779,16 +7733,16 @@ class basic_json /*! @copydoc from_bson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_bson(A1 && a1, A2 && a2, + static basic_json from_bson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -7799,7 +7753,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /// @} diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 70ce011a..eeaa9d0a 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4456,6 +4456,8 @@ Input adapter for stdio file access. This adapter read only 1 byte and do not us class file_input_adapter { public: + using char_type = char; + JSON_HEDLEY_NON_NULL(2) explicit file_input_adapter(std::FILE* f) noexcept : m_file(f) @@ -4490,6 +4492,8 @@ subsequent call for input from the std::istream. class input_stream_adapter { public: + using char_type = char; + ~input_stream_adapter() { // clear stream flags; we use underlying streambuf I/O, do not @@ -4535,51 +4539,55 @@ class input_stream_adapter std::streambuf* sb = nullptr; }; -/// input adapter for buffer input -class input_buffer_adapter +// General-purpose iterator-based adapter. It might not be as fast as +// theoretically possible for some containers, but it is extremely versatile. +template +class iterator_input_adapter { public: - input_buffer_adapter(const char* b, const std::size_t l) noexcept - : cursor(b), limit(b == nullptr ? nullptr : (b + l)) - {} + using char_type = typename std::iterator_traits::value_type; - // delete because of pointer members - input_buffer_adapter(const input_buffer_adapter&) = delete; - input_buffer_adapter& operator=(input_buffer_adapter&) = delete; - input_buffer_adapter(input_buffer_adapter&&) = default; - input_buffer_adapter& operator=(input_buffer_adapter&&) = delete; + iterator_input_adapter(IteratorType begin_ite, IteratorType end_ite) + : current(std::move(begin_ite)), end(std::move(end_ite)) {} - std::char_traits::int_type get_character() noexcept + typename std::char_traits::int_type get_character() { - if (JSON_HEDLEY_LIKELY(cursor < limit)) + if (current != end) { - assert(cursor != nullptr and limit != nullptr); - return std::char_traits::to_int_type(*(cursor++)); + return *current++; } + else + { + return std::char_traits::eof(); + } + } - return std::char_traits::eof(); + bool empty() const + { + return current == end; } private: - /// pointer to the current character - const char* cursor; - /// pointer past the last character - const char* const limit; + IteratorType current; + IteratorType end; }; -template -struct wide_string_input_helper + +template +struct wide_string_input_helper; + +template +struct wide_string_input_helper { // UTF-32 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (input.empty()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -4587,7 +4595,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-32 to UTF-8 encoding if (wc < 0x80) @@ -4626,19 +4634,18 @@ struct wide_string_input_helper } }; -template -struct wide_string_input_helper +template +struct wide_string_input_helper { // UTF-16 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (input.empty()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -4646,7 +4653,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-16 to UTF-8 encoding if (wc < 0x80) @@ -4669,9 +4676,9 @@ struct wide_string_input_helper } else { - if (current_wchar < str.size()) + if (!input.empty()) { - const auto wc2 = static_cast(str[current_wchar++]); + const auto wc2 = static_cast(input.get_character()); const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); @@ -4681,8 +4688,6 @@ struct wide_string_input_helper } else { - // unknown character - ++current_wchar; utf8_bytes[0] = static_cast::int_type>(wc); utf8_bytes_filled = 1; } @@ -4691,20 +4696,20 @@ struct wide_string_input_helper } }; -template +// Wraps another input apdater to convert wide character types into individual bytes. +template class wide_string_input_adapter { public: - explicit wide_string_input_adapter(const WideStringType& w) noexcept - : str(w) - {} + wide_string_input_adapter(BaseInputAdapter base) + : base_adapter(base) {} - std::char_traits::int_type get_character() noexcept + typename std::char_traits::int_type get_character() noexcept { // check if buffer needs to be filled if (utf8_bytes_index == utf8_bytes_filled) { - fill_buffer(); + fill_buffer(); assert(utf8_bytes_filled > 0); assert(utf8_bytes_index == 0); @@ -4717,18 +4722,14 @@ class wide_string_input_adapter } private: + BaseInputAdapter base_adapter; + template void fill_buffer() { - wide_string_input_helper::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); + wide_string_input_helper::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); } - /// the wstring to process - const WideStringType& str; - - /// index of the current wchar in str - std::size_t current_wchar = 0; - /// a buffer for UTF-8 bytes std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; @@ -4736,8 +4737,53 @@ class wide_string_input_adapter std::size_t utf8_bytes_index = 0; /// number of valid bytes in the utf8_codes array std::size_t utf8_bytes_filled = 0; +} + + +template +struct iterator_input_adapter_factory +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using adapter_type = iterator_input_adapter; + + adapter_type create(IteratorType begin, IteratorType end) + { + return adapter_type(std::move(begin), std::mve(end)); + } }; +template +struct iterator_input_adapter_factory::value_type)>1)>::type > + { + + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + adapter_type create(IteratorType begin, IteratorType end) +{ + return adapter_type(base_adapter_type(std::move(begin), std::mve(end))); +} + }; + +// General purpose iterator-based input +template +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType begin, IteratorType end) +{ + return iterator_input_adapter_factory::create(begin, end); +} + +// Convenience shorthand from container to iterator +template +decltype(input_adapter(begin(container), end(container))) input_adapter(const T& container) +{ + return input_adapter(begin(container), end(container)); +} + +// Special cases with fast paths inline file_input_adapter input_adapter(std::FILE* file) { return file_input_adapter(file); @@ -4753,17 +4799,7 @@ inline input_stream_adapter input_adapter(std::istream&& stream) return input_stream_adapter(stream); } -template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> -input_buffer_adapter input_adapter(CharT b, std::size_t l) -{ - return input_buffer_adapter(reinterpret_cast(b), l); -} - +// Null-delimited strings, and the like. template::value and @@ -4772,78 +4808,11 @@ template::type = 0> input_buffer_adapter input_adapter(CharT b) { - return input_adapter(reinterpret_cast(b), - std::strlen(reinterpret_cast(b))); + auto length = std::strlen(reinterpret_cast(b)); + auto ptr = reinterpret_cast(b); + return input_adapter(ptr, ptr + length); } -template::iterator_category, std::random_access_iterator_tag>::value, - int>::type = 0> -input_buffer_adapter input_adapter(IteratorType first, IteratorType last) -{ -#ifndef NDEBUG - // assertion to check that the iterator range is indeed contiguous, - // see https://stackoverflow.com/a/35008842/266378 for more discussion - const auto is_contiguous = std::accumulate( - first, last, std::pair(true, 0), - [&first](std::pair res, decltype(*first) val) - { - res.first &= (val == *(std::next(std::addressof(*first), res.second++))); - return res; - }).first; - assert(is_contiguous); -#endif - - // assertion to check that each element is 1 byte long - static_assert( - sizeof(typename iterator_traits::value_type) == 1, - "each element in the iterator range must have the size of 1 byte"); - - const auto len = static_cast(std::distance(first, last)); - if (JSON_HEDLEY_LIKELY(len > 0)) - { - // there is at least one element: use the address of first - return input_buffer_adapter(reinterpret_cast(&(*first)), len); - } - else - { - // the address of first cannot be used: use nullptr - return input_buffer_adapter(nullptr, len); - } -} - -inline wide_string_input_adapter input_adapter(const std::wstring& ws) -{ - return wide_string_input_adapter(ws); -} - - -inline wide_string_input_adapter input_adapter(const std::u16string& ws) -{ - return wide_string_input_adapter(ws); -} - -inline wide_string_input_adapter input_adapter(const std::u32string& ws) -{ - return wide_string_input_adapter(ws); -} - -template::value and - std::is_base_of()))>::iterator_category>::value, - int>::type = 0> -input_buffer_adapter input_adapter(const ContiguousContainer& c) -{ - return input_adapter(std::begin(c), std::end(c)); -} - - -template -input_buffer_adapter input_adapter(T (&array)[N]) -{ - return input_adapter(std::begin(array), std::end(array)); -} // This class only handles inputs of input_buffer_adapter type. // It's required so that expressions like {ptr, len} can be implicitely casted @@ -22413,6 +22382,17 @@ class basic_json } + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(IteratorType begin, + IteratorType end, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true) + { + basic_json result; + parser(detail::iterator_input_adapter(std::move(begin), std::move(end)), cb, allow_exceptions).parse(true, result); + return result; + } JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(detail::span_input_adapter&& i, @@ -22430,10 +22410,17 @@ class basic_json return parser(detail::input_adapter(std::forward(i))).accept(true); } + template + static bool accept(IteratorType begin, IteratorType end) + { + return parser(detail::iterator_input_adapter(std::move(begin), std::move(end))).accept(true); + } + static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); } + /*! @brief generate SAX events diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 838cce53..67377fc4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -133,6 +133,7 @@ set(files src/unit-ubjson.cpp src/unit-udt.cpp src/unit-unicode.cpp + src/unit-user_defined_input.cpp src/unit-wstring.cpp) foreach(file ${files}) diff --git a/test/Makefile b/test/Makefile index 7bf0fef9..bcf8de7d 100644 --- a/test/Makefile +++ b/test/Makefile @@ -44,6 +44,7 @@ SOURCES = src/unit.cpp \ src/unit-testsuites.cpp \ src/unit-ubjson.cpp \ src/unit-unicode.cpp \ + src/unit-user_defined_input.cpp \ src/unit-wstring.cpp OBJECTS = $(SOURCES:.cpp=.o) diff --git a/test/src/unit-user_defined_input.cpp b/test/src/unit-user_defined_input.cpp new file mode 100644 index 00000000..6948c617 --- /dev/null +++ b/test/src/unit-user_defined_input.cpp @@ -0,0 +1,115 @@ +/* + __ _____ _____ _____ + __| | __| | | | JSON for Modern C++ (test suite) +| | |__ | | | | | | version 3.7.3 +|_____|_____|_____|_|___| https://github.com/nlohmann/json + +Licensed under the MIT License . +SPDX-License-Identifier: MIT +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include "doctest_compatibility.h" + +#include +using nlohmann::json; + +#include + +namespace +{ +TEST_CASE("Use arbitrary stdlib container") +{ + std::string raw_data = "[1,2,3,4]"; + std::list data(raw_data.begin(), raw_data.end()); + + json as_json = json::parse(data.begin(), data.end()); + CHECK(as_json.at(0) == 1); + CHECK(as_json.at(1) == 2); + CHECK(as_json.at(2) == 3); + CHECK(as_json.at(3) == 4); +} + +struct MyContainer +{ + const char* data; +}; + +const char* begin(const MyContainer& c) +{ + return c.data; +} + +const char* end(const MyContainer& c) +{ + return c.data + strlen(c.data); +} + +TEST_CASE("Custom container") +{ + + MyContainer data{"[1,2,3,4]"}; + json as_json = json::parse(data); + CHECK(as_json.at(0) == 1); + CHECK(as_json.at(1) == 2); + CHECK(as_json.at(2) == 3); + CHECK(as_json.at(3) == 4); + +} + +TEST_CASE("Custom iterator") +{ + const char* raw_data = "[1,2,3,4]"; + + struct MyIterator { + using difference_type = std::size_t; + using value_type = char; + using pointer = const char*; + using reference = const char&; + using iterator_category = std::input_iterator_tag; + + + MyIterator& operator++() { + ++ptr; + return *this; + } + + reference operator*() const {return *ptr;} + bool operator!=(const MyIterator& rhs) const { + return ptr != rhs.ptr; + } + + const char* ptr; + }; + + MyIterator begin{raw_data}; + MyIterator end{raw_data + strlen(raw_data)}; + + json as_json = json::parse(begin, end); + CHECK(as_json.at(0) == 1); + CHECK(as_json.at(1) == 2); + CHECK(as_json.at(2) == 3); + CHECK(as_json.at(3) == 4); +} + + + +} \ No newline at end of file From f1969e60a39fcf940bec96505934f2d59a587cc9 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Wed, 27 May 2020 12:56:26 -0400 Subject: [PATCH 08/73] reamalgamate --- include/nlohmann/json.hpp | 2 +- single_include/nlohmann/json.hpp | 189 ++++++++++----------------- test/src/unit-user_defined_input.cpp | 14 +- 3 files changed, 78 insertions(+), 127 deletions(-) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index af67365d..145c4f43 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6750,7 +6750,7 @@ class basic_json } - + /*! @brief deserialize from stream diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index eeaa9d0a..8f9c103e 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4547,14 +4547,16 @@ class iterator_input_adapter public: using char_type = typename std::iterator_traits::value_type; - iterator_input_adapter(IteratorType begin_ite, IteratorType end_ite) - : current(std::move(begin_ite)), end(std::move(end_ite)) {} + iterator_input_adapter(IteratorType first, IteratorType last) + : current(std::move(first)), end(std::move(last)) {} typename std::char_traits::int_type get_character() { if (current != end) { - return *current++; + auto result = std::char_traits::to_int_type(*current); + std::advance(current, 1); + return result; } else { @@ -4562,14 +4564,18 @@ class iterator_input_adapter } } + private: + IteratorType current; + IteratorType end; + + template + friend class wide_string_input_helper; + bool empty() const { return current == end; } - private: - IteratorType current; - IteratorType end; }; @@ -4737,7 +4743,7 @@ class wide_string_input_adapter std::size_t utf8_bytes_index = 0; /// number of valid bytes in the utf8_codes array std::size_t utf8_bytes_filled = 0; -} +}; template @@ -4747,15 +4753,15 @@ struct iterator_input_adapter_factory using char_type = typename std::iterator_traits::value_type; using adapter_type = iterator_input_adapter; - adapter_type create(IteratorType begin, IteratorType end) + static adapter_type create(IteratorType begin, IteratorType end) { - return adapter_type(std::move(begin), std::mve(end)); + return adapter_type(std::move(begin), std::move(end)); } }; template struct iterator_input_adapter_factory::value_type)>1)>::type > + typename std::enable_if<(sizeof(typename std::iterator_traits::value_type)>1)>::type > { using iterator_type = IteratorType; @@ -4763,9 +4769,9 @@ struct iterator_input_adapter_factory; using adapter_type = wide_string_input_adapter; - adapter_type create(IteratorType begin, IteratorType end) + static adapter_type create(IteratorType begin, IteratorType end) { - return adapter_type(base_adapter_type(std::move(begin), std::mve(end))); + return adapter_type(base_adapter_type(std::move(begin), std::move(end))); } }; @@ -4773,12 +4779,13 @@ struct iterator_input_adapter_factory typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType begin, IteratorType end) { - return iterator_input_adapter_factory::create(begin, end); + using factory_type = iterator_input_adapter_factory; + return factory_type::create(begin, end); } // Convenience shorthand from container to iterator template -decltype(input_adapter(begin(container), end(container))) input_adapter(const T& container) +auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) { return input_adapter(begin(container), end(container)); } @@ -4799,6 +4806,8 @@ inline input_stream_adapter input_adapter(std::istream&& stream) return input_stream_adapter(stream); } +using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); + // Null-delimited strings, and the like. template::type>::value and sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> -input_buffer_adapter input_adapter(CharT b) +contiguous_bytes_input_adapter input_adapter(CharT b) { auto length = std::strlen(reinterpret_cast(b)); auto ptr = reinterpret_cast(b); @@ -4827,7 +4836,7 @@ class span_input_adapter sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> span_input_adapter(CharT b, std::size_t l) - : ia(reinterpret_cast(b), l) {} + : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} template::type) == 1, int>::type = 0> span_input_adapter(CharT b) - : span_input_adapter(reinterpret_cast(b), - std::strlen(reinterpret_cast(b))) {} + : span_input_adapter(b, std::strlen(reinterpret_cast(b))) {} template static bool accept(IteratorType begin, IteratorType end) { - return parser(detail::iterator_input_adapter(std::move(begin), std::move(end))).accept(true); + return parser(detail::input_adapter(std::move(begin), std::move(end))).accept(true); } static bool accept(detail::span_input_adapter&& i) @@ -22474,7 +22482,7 @@ class basic_json @since version 3.2.0 */ - template + template JSON_HEDLEY_NON_NULL(2) static bool sax_parse(InputType&& i, SAX* sax, input_format_t format = input_format_t::json, @@ -22486,6 +22494,18 @@ class basic_json : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } + template + JSON_HEDLEY_NON_NULL(3) + static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true) + { + auto ia = detail::input_adapter(std::move(first), std::move(last)); + return format == input_format_t::json + ? parser(std::move(ia)).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + template JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, @@ -22499,86 +22519,7 @@ class basic_json } - /*! - @brief deserialize from an iterator range with contiguous storage - This function reads from an iterator range of a container with contiguous - storage of 1-byte values. Compatible container types include - `std::vector`, `std::string`, `std::array`, `std::valarray`, and - `std::initializer_list`. Furthermore, C-style arrays can be used with - `std::begin()`/`std::end()`. User-defined containers can be used as long - as they implement random-access iterators and a contiguous storage. - - @pre The iterator range is contiguous. Violating this precondition yields - undefined behavior. **This precondition is enforced with an assertion.** - @pre Each element in the range has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with noncompliant iterators and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. - - @tparam IteratorType iterator of container with contiguous storage - @param[in] first begin of the range to parse (included) - @param[in] last end of the range to parse (excluded) - @param[in] cb a parser callback function of type @ref parser_callback_t - which is used to control the deserialization by filtering unwanted values - (optional) - @param[in] allow_exceptions whether to throw exceptions in case of a - parse error (optional, true by default) - - @return deserialized JSON value; in case of a parse error and - @a allow_exceptions set to `false`, the return value will be - value_t::discarded. - - @throw parse_error.101 in case of an unexpected token - @throw parse_error.102 if to_unicode fails or surrogate error - @throw parse_error.103 if to_unicode fails - - @complexity Linear in the length of the input. The parser is a predictive - LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. - - @note A UTF-8 byte order mark is silently ignored. - - @liveexample{The example below demonstrates the `parse()` function reading - from an iterator range.,parse__iteratortype__parser_callback_t} - - @since version 2.0.3 - */ - template::iterator_category>::value, int>::type = 0> - static basic_json parse(IteratorType first, IteratorType last, - const parser_callback_t cb = nullptr, - const bool allow_exceptions = true) - { - basic_json result; - parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result); - return result; - } - - template::iterator_category>::value, int>::type = 0> - static bool accept(IteratorType first, IteratorType last) - { - return parser(detail::input_adapter(first, last)).accept(true); - } - - template::iterator_category>::value, int>::type = 0> - JSON_HEDLEY_NON_NULL(3) - static bool sax_parse(IteratorType first, IteratorType last, SAX* sax) - { - return parser(detail::input_adapter(first, last)).sax_parse(sax); - } /*! @brief deserialize from stream @@ -23228,16 +23169,16 @@ class basic_json /*! @copydoc from_cbor(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_cbor(A1 && a1, A2 && a2, + static basic_json from_cbor(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23248,7 +23189,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23354,16 +23296,16 @@ class basic_json /*! @copydoc from_msgpack(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_msgpack(A1 && a1, A2 && a2, + static basic_json from_msgpack(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23375,7 +23317,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23457,16 +23400,16 @@ class basic_json /*! @copydoc from_ubjson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_ubjson(A1 && a1, A2 && a2, + static basic_json from_ubjson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23477,7 +23420,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23558,16 +23502,16 @@ class basic_json /*! @copydoc from_bson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> + template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json from_bson(A1 && a1, A2 && a2, + static basic_json from_bson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::span_input_adapter(std::forward(a1), std::forward(a2)).get()).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -23578,7 +23522,8 @@ class basic_json { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(i.get()).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /// @} diff --git a/test/src/unit-user_defined_input.cpp b/test/src/unit-user_defined_input.cpp index 6948c617..d2685ec6 100644 --- a/test/src/unit-user_defined_input.cpp +++ b/test/src/unit-user_defined_input.cpp @@ -79,7 +79,8 @@ TEST_CASE("Custom iterator") { const char* raw_data = "[1,2,3,4]"; - struct MyIterator { + struct MyIterator + { using difference_type = std::size_t; using value_type = char; using pointer = const char*; @@ -87,13 +88,18 @@ TEST_CASE("Custom iterator") using iterator_category = std::input_iterator_tag; - MyIterator& operator++() { + MyIterator& operator++() + { ++ptr; return *this; } - reference operator*() const {return *ptr;} - bool operator!=(const MyIterator& rhs) const { + reference operator*() const + { + return *ptr; + } + bool operator!=(const MyIterator& rhs) const + { return ptr != rhs.ptr; } From b9416a26aa42b0a967bda6b84b0ef5baa188c516 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Wed, 27 May 2020 13:21:23 -0400 Subject: [PATCH 09/73] correct ADL lookup of arrays on Mac and Windows --- .../nlohmann/detail/input/input_adapters.hpp | 25 +++---------------- single_include/nlohmann/json.hpp | 25 +++---------------- 2 files changed, 8 insertions(+), 42 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 9d868202..67a7f0d0 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -365,6 +365,10 @@ typename iterator_input_adapter_factory::adapter_type input_adapte template auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) { + // Enable ADL + using std::begin; + using std::end; + return input_adapter(begin(container), end(container)); } @@ -416,15 +420,6 @@ class span_input_adapter span_input_adapter(CharT b, std::size_t l) : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} - template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> - span_input_adapter(CharT b) - : span_input_adapter(b, std::strlen(reinterpret_cast(b))) {} - template::iterator_category, std::random_access_iterator_tag>::value, @@ -432,18 +427,6 @@ class span_input_adapter span_input_adapter(IteratorType first, IteratorType last) : ia(input_adapter(first, last)) {} - template - span_input_adapter(T (&array)[N]) - : span_input_adapter(std::begin(array), std::end(array)) {} - - /// input adapter for contiguous container - template::value and - std::is_base_of()))>::iterator_category>::value, - int>::type = 0> - span_input_adapter(const ContiguousContainer& c) - : span_input_adapter(std::begin(c), std::end(c)) {} - contiguous_bytes_input_adapter&& get() { return std::move(ia); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 8f9c103e..5240aedd 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4787,6 +4787,10 @@ typename iterator_input_adapter_factory::adapter_type input_adapte template auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) { + // Enable ADL + using std::begin; + using std::end; + return input_adapter(begin(container), end(container)); } @@ -4838,15 +4842,6 @@ class span_input_adapter span_input_adapter(CharT b, std::size_t l) : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} - template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> - span_input_adapter(CharT b) - : span_input_adapter(b, std::strlen(reinterpret_cast(b))) {} - template::iterator_category, std::random_access_iterator_tag>::value, @@ -4854,18 +4849,6 @@ class span_input_adapter span_input_adapter(IteratorType first, IteratorType last) : ia(input_adapter(first, last)) {} - template - span_input_adapter(T (&array)[N]) - : span_input_adapter(std::begin(array), std::end(array)) {} - - /// input adapter for contiguous container - template::value and - std::is_base_of()))>::iterator_category>::value, - int>::type = 0> - span_input_adapter(const ContiguousContainer& c) - : span_input_adapter(std::begin(c), std::end(c)) {} - contiguous_bytes_input_adapter&& get() { return std::move(ia); From 377995f4956f99c671bc97894eb0141182b08a56 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Wed, 27 May 2020 18:21:38 -0400 Subject: [PATCH 10/73] forcefully exclude arrays from being interpreted as pointers --- .../nlohmann/detail/input/input_adapters.hpp | 18 ++++++++++++------ single_include/nlohmann/json.hpp | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 67a7f0d0..0a52abaa 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -391,12 +391,13 @@ inline input_stream_adapter input_adapter(std::istream&& stream) using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); // Null-delimited strings, and the like. -template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> +template < typename CharT, + typename std::enable_if < + std::is_pointer::value and + !std::is_array::value and + std::is_integral::type>::value and + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > contiguous_bytes_input_adapter input_adapter(CharT b) { auto length = std::strlen(reinterpret_cast(b)); @@ -404,6 +405,11 @@ contiguous_bytes_input_adapter input_adapter(CharT b) return input_adapter(ptr, ptr + length); } +template +auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) +{ + return input_adapter(array, array + N); +} // This class only handles inputs of input_buffer_adapter type. // It's required so that expressions like {ptr, len} can be implicitely casted diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 5240aedd..5e8e23fe 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4813,12 +4813,13 @@ inline input_stream_adapter input_adapter(std::istream&& stream) using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); // Null-delimited strings, and the like. -template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> +template < typename CharT, + typename std::enable_if < + std::is_pointer::value and + !std::is_array::value and + std::is_integral::type>::value and + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > contiguous_bytes_input_adapter input_adapter(CharT b) { auto length = std::strlen(reinterpret_cast(b)); @@ -4826,6 +4827,11 @@ contiguous_bytes_input_adapter input_adapter(CharT b) return input_adapter(ptr, ptr + length); } +template +auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) +{ + return input_adapter(array, array + N); +} // This class only handles inputs of input_buffer_adapter type. // It's required so that expressions like {ptr, len} can be implicitely casted From 76b49f9ee6d9c51cebc8abbb37ef326e08b2a9ea Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 02:29:53 -0400 Subject: [PATCH 11/73] misc formatting fixes --- .clang-format | 137 ++++++++++++++++++ .../nlohmann/detail/input/input_adapters.hpp | 47 +++--- include/nlohmann/json.hpp | 10 +- single_include/nlohmann/json.hpp | 57 ++++---- 4 files changed, 199 insertions(+), 52 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..ef5f80c1 --- /dev/null +++ b/.clang-format @@ -0,0 +1,137 @@ +--- +Language: Cpp +# BasedOnStyle: Mozilla +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignConsecutiveMacros: false +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: TopLevel +AlwaysBreakAfterReturnType: TopLevel +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: Yes +BinPackArguments: false +BinPackParameters: false +BraceWrapping: + AfterCaseLabel: true + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: true + AfterExternBlock: true + BeforeCatch: false + BeforeElse: true + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: false + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeComma +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeComma +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 180 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: false +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + SortPriority: 0 + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + SortPriority: 0 + - Regex: '.*' + Priority: 1 + SortPriority: 0 +IncludeIsMainRegex: '(Test)?$' +IncludeIsMainSourceRegex: '' +IndentCaseLabels: true +IndentGotoLabels: false +IndentPPDirectives: None +IndentWidth: 4 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: false +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Left +ReflowComments: true +SortIncludes: false +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: true +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +Standard: Latest +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 8 +UseCRLF: false +UseTab: Never +... + diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 0a52abaa..08954a2f 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -104,7 +104,7 @@ class input_stream_adapter { auto res = sb->sbumpc(); // set eof manually, as we don't use the istream interface. - if (res == EOF) + if (JSON_HEDLEY_UNLIKELY(res == EOF)) { is->clear(is->rdstate() | std::ios::eofbit); } @@ -130,7 +130,7 @@ class iterator_input_adapter typename std::char_traits::int_type get_character() { - if (current != end) + if (JSON_HEDLEY_LIKELY(current != end)) { auto result = std::char_traits::to_int_type(*current); std::advance(current, 1); @@ -171,7 +171,7 @@ struct wide_string_input_helper { utf8_bytes_index = 0; - if (input.empty()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -229,7 +229,7 @@ struct wide_string_input_helper { utf8_bytes_index = 0; - if (input.empty()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -331,34 +331,39 @@ struct iterator_input_adapter_factory using char_type = typename std::iterator_traits::value_type; using adapter_type = iterator_input_adapter; - static adapter_type create(IteratorType begin, IteratorType end) + static adapter_type create(IteratorType first, IteratorType last) { - return adapter_type(std::move(begin), std::move(end)); + return adapter_type(std::move(first), std::move(last)); } }; -template -struct iterator_input_adapter_factory::value_type)>1)>::type > - { - - using iterator_type = IteratorType; - using char_type = typename std::iterator_traits::value_type; - using base_adapter_type = iterator_input_adapter; - using adapter_type = wide_string_input_adapter; - - static adapter_type create(IteratorType begin, IteratorType end) +// This test breaks astyle formatting when inlined in a template specialization. +template +inline constexpr bool is_iterator_of_multibyte() { - return adapter_type(base_adapter_type(std::move(begin), std::move(end))); + return sizeof(typename std::iterator_traits::value_type) > 1; } - }; + +template +struct iterator_input_adapter_factory()>> +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(base_adapter_type(std::move(first), std::move(last))); + } +}; // General purpose iterator-based input template -typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType begin, IteratorType end) +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType first, IteratorType last) { using factory_type = iterator_input_adapter_factory; - return factory_type::create(begin, end); + return factory_type::create(first, last); } // Convenience shorthand from container to iterator diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 145c4f43..1248c956 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6623,13 +6623,13 @@ class basic_json template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json parse(IteratorType begin, - IteratorType end, + static basic_json parse(IteratorType first, + IteratorType last, const parser_callback_t cb = nullptr, const bool allow_exceptions = true) { basic_json result; - parser(detail::input_adapter(std::move(begin), std::move(end)), cb, allow_exceptions).parse(true, result); + parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions).parse(true, result); return result; } @@ -6650,9 +6650,9 @@ class basic_json } template - static bool accept(IteratorType begin, IteratorType end) + static bool accept(IteratorType first, IteratorType last) { - return parser(detail::input_adapter(std::move(begin), std::move(end))).accept(true); + return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } static bool accept(detail::span_input_adapter&& i) diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 5e8e23fe..cb482bc2 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4526,7 +4526,7 @@ class input_stream_adapter { auto res = sb->sbumpc(); // set eof manually, as we don't use the istream interface. - if (res == EOF) + if (JSON_HEDLEY_UNLIKELY(res == EOF)) { is->clear(is->rdstate() | std::ios::eofbit); } @@ -4552,7 +4552,7 @@ class iterator_input_adapter typename std::char_traits::int_type get_character() { - if (current != end) + if (JSON_HEDLEY_LIKELY(current != end)) { auto result = std::char_traits::to_int_type(*current); std::advance(current, 1); @@ -4593,7 +4593,7 @@ struct wide_string_input_helper { utf8_bytes_index = 0; - if (input.empty()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -4651,7 +4651,7 @@ struct wide_string_input_helper { utf8_bytes_index = 0; - if (input.empty()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -4753,34 +4753,39 @@ struct iterator_input_adapter_factory using char_type = typename std::iterator_traits::value_type; using adapter_type = iterator_input_adapter; - static adapter_type create(IteratorType begin, IteratorType end) + static adapter_type create(IteratorType first, IteratorType last) { - return adapter_type(std::move(begin), std::move(end)); + return adapter_type(std::move(first), std::move(last)); } }; -template -struct iterator_input_adapter_factory::value_type)>1)>::type > - { - - using iterator_type = IteratorType; - using char_type = typename std::iterator_traits::value_type; - using base_adapter_type = iterator_input_adapter; - using adapter_type = wide_string_input_adapter; - - static adapter_type create(IteratorType begin, IteratorType end) +// This test breaks astyle formatting when inlined in a template specialization. +template +inline constexpr bool is_iterator_of_multibyte() { - return adapter_type(base_adapter_type(std::move(begin), std::move(end))); + return sizeof(typename std::iterator_traits::value_type) > 1; } - }; + +template +struct iterator_input_adapter_factory()>> +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(base_adapter_type(std::move(first), std::move(last))); + } +}; // General purpose iterator-based input template -typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType begin, IteratorType end) +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType first, IteratorType last) { using factory_type = iterator_input_adapter_factory; - return factory_type::create(begin, end); + return factory_type::create(first, last); } // Convenience shorthand from container to iterator @@ -22381,13 +22386,13 @@ class basic_json template JSON_HEDLEY_WARN_UNUSED_RESULT - static basic_json parse(IteratorType begin, - IteratorType end, + static basic_json parse(IteratorType first, + IteratorType last, const parser_callback_t cb = nullptr, const bool allow_exceptions = true) { basic_json result; - parser(detail::input_adapter(std::move(begin), std::move(end)), cb, allow_exceptions).parse(true, result); + parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions).parse(true, result); return result; } @@ -22408,9 +22413,9 @@ class basic_json } template - static bool accept(IteratorType begin, IteratorType end) + static bool accept(IteratorType first, IteratorType last) { - return parser(detail::input_adapter(std::move(begin), std::move(end))).accept(true); + return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } static bool accept(detail::span_input_adapter&& i) From a4f1cf4d0053a6a39790768c3d847cc93d7e93fa Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 02:50:58 -0400 Subject: [PATCH 12/73] better parse documentation --- include/nlohmann/json.hpp | 80 ++++++++++++++------------------ single_include/nlohmann/json.hpp | 80 ++++++++++++++------------------ 2 files changed, 70 insertions(+), 90 deletions(-) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 1248c956..4cc329f9 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6550,28 +6550,12 @@ class basic_json @brief deserialize from a compatible input This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in] cb a parser callback function of type @ref parser_callback_t @@ -6591,7 +6575,7 @@ class basic_json @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. + @a cb or reading from the input @a i has a super-linear complexity. @note A UTF-8 byte order mark is silently ignored. @@ -6620,7 +6604,29 @@ class basic_json return result; } + /*! + @brief deserialize from a pair of character iterators + The value_type of the iterator must be a integral type with size of 1, 2 or + 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + + @param[in] first iterator to start of character range + @param[in] last iterator to end of character range + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ template JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(IteratorType first, @@ -6666,28 +6672,12 @@ class basic_json The SAX event lister must follow the interface of @ref json_sax. This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in,out] sax SAX event listener diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index cb482bc2..54b39ff5 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -22313,28 +22313,12 @@ class basic_json @brief deserialize from a compatible input This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in] cb a parser callback function of type @ref parser_callback_t @@ -22354,7 +22338,7 @@ class basic_json @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. + @a cb or reading from the input @a i has a super-linear complexity. @note A UTF-8 byte order mark is silently ignored. @@ -22383,7 +22367,29 @@ class basic_json return result; } + /*! + @brief deserialize from a pair of character iterators + The value_type of the iterator must be a integral type with size of 1, 2 or + 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + + @param[in] first iterator to start of character range + @param[in] last iterator to end of character range + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ template JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(IteratorType first, @@ -22429,28 +22435,12 @@ class basic_json The SAX event lister must follow the interface of @ref json_sax. This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in,out] sax SAX event listener From 3a91a05db665cf7b462258c31de6e491939d4b07 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 03:13:39 -0400 Subject: [PATCH 13/73] added custom input to readme --- README.md | 51 +++++++++++++++++++++++++++- test/src/unit-user_defined_input.cpp | 1 + 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 077a60bc..cf870973 100644 --- a/README.md +++ b/README.md @@ -416,7 +416,7 @@ Please note that setting the exception bit for `failbit` is inappropriate for th #### Read from iterator range -You can also parse JSON from an iterator range; that is, from any container accessible by iterators whose content is stored as contiguous byte sequence, for instance a `std::vector`: +You can also parse JSON from an iterator range; that is, from any container accessible by iterators whose `value_type` is an integral type of 1, 2 or 4 bytes, for instance a `std::vector`, or a `std::list`: ```cpp std::vector v = {'t', 'r', 'u', 'e'}; @@ -430,6 +430,55 @@ std::vector v = {'t', 'r', 'u', 'e'}; json j = json::parse(v); ``` +#### Custom data source + +Since the parse function accepts arbitrary iterator ranges, you can provide your own data sources by implementing the `LegacyInputIterator` concept. + +```cpp +struct MyContainer; + +struct MyContainer { + void advance(); + const char& get_current(); +}; + +struct MyIterator { + using difference_type = std::ptrdiff_t; + using value_type = char; + using pointer = const char*; + using reference = const char&; + using iterator_category = std::input_iterator_tag; + + MyIterator& operator++() { + MyContainer.advance(); + } + + bool operator!=(const MyIterator& rhs) const { + return rhs.pos != pos || rhs.target != target; + } + + reference operator*() const { + return target.get_current(); + } + + MyContainer* target = nullptr; + std::size_t pos = 0; +}; + +MyIterator begin(MyContainer& tgt) { + return MyIterator{&tgt, 0} +} + +MyIterator end(const MyContainer&) { + return MyIterator{nullptr, 0} +} + +void foo() { + MyContainer c; + json j = json::parse(c); +} +``` + #### SAX interface The library uses a SAX-like interface with the following functions: diff --git a/test/src/unit-user_defined_input.cpp b/test/src/unit-user_defined_input.cpp index d2685ec6..06be4e13 100644 --- a/test/src/unit-user_defined_input.cpp +++ b/test/src/unit-user_defined_input.cpp @@ -98,6 +98,7 @@ TEST_CASE("Custom iterator") { return *ptr; } + bool operator!=(const MyIterator& rhs) const { return ptr != rhs.ptr; From bfcd32c099479c785d9f74ba87dd5fa66d92b80c Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 03:16:24 -0400 Subject: [PATCH 14/73] removed clang-format --- .clang-format | 137 -------------------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 .clang-format diff --git a/.clang-format b/.clang-format deleted file mode 100644 index ef5f80c1..00000000 --- a/.clang-format +++ /dev/null @@ -1,137 +0,0 @@ ---- -Language: Cpp -# BasedOnStyle: Mozilla -AccessModifierOffset: -2 -AlignAfterOpenBracket: Align -AlignConsecutiveMacros: false -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignEscapedNewlines: Right -AlignOperands: true -AlignTrailingComments: true -AllowAllArgumentsOnNextLine: true -AllowAllConstructorInitializersOnNextLine: true -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: None -AllowShortLambdasOnASingleLine: All -AllowShortIfStatementsOnASingleLine: Never -AllowShortLoopsOnASingleLine: false -AlwaysBreakAfterDefinitionReturnType: TopLevel -AlwaysBreakAfterReturnType: TopLevel -AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: false -BinPackParameters: false -BraceWrapping: - AfterCaseLabel: true - AfterClass: true - AfterControlStatement: true - AfterEnum: true - AfterFunction: true - AfterNamespace: true - AfterObjCDeclaration: false - AfterStruct: true - AfterUnion: true - AfterExternBlock: true - BeforeCatch: false - BeforeElse: true - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: false - SplitEmptyNamespace: true -BreakBeforeBinaryOperators: None -BreakBeforeBraces: Custom -BreakBeforeInheritanceComma: false -BreakInheritanceList: BeforeComma -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeComma -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: false -ColumnLimit: 180 -CommentPragmas: '^ IWYU pragma:' -CompactNamespaces: false -ConstructorInitializerAllOnOneLineOrOnePerLine: true -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DeriveLineEnding: true -DerivePointerAlignment: false -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: false -ForEachMacros: - - foreach - - Q_FOREACH - - BOOST_FOREACH -IncludeBlocks: Preserve -IncludeCategories: - - Regex: '^"(llvm|llvm-c|clang|clang-c)/' - Priority: 2 - SortPriority: 0 - - Regex: '^(<|"(gtest|gmock|isl|json)/)' - Priority: 3 - SortPriority: 0 - - Regex: '.*' - Priority: 1 - SortPriority: 0 -IncludeIsMainRegex: '(Test)?$' -IncludeIsMainSourceRegex: '' -IndentCaseLabels: true -IndentGotoLabels: false -IndentPPDirectives: None -IndentWidth: 4 -IndentWrappedFunctionNames: false -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: true -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBinPackProtocolList: Auto -ObjCBlockIndentWidth: 2 -ObjCSpaceAfterProperty: true -ObjCSpaceBeforeProtocolList: false -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 19 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PointerAlignment: Left -ReflowComments: true -SortIncludes: false -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: false -SpaceBeforeAssignmentOperators: true -SpaceBeforeCpp11BracedList: true -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInConditionalStatement: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -SpaceBeforeSquareBrackets: false -Standard: Latest -StatementMacros: - - Q_UNUSED - - QT_REQUIRE_VERSION -TabWidth: 8 -UseCRLF: false -UseTab: Never -... - From dcf6175978fa45e6e617b3879c7a98bc37dce80d Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 09:29:38 -0400 Subject: [PATCH 15/73] use the correct convention for boolean operators --- include/nlohmann/detail/input/input_adapters.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 08954a2f..3d90ac3e 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -260,7 +260,7 @@ struct wide_string_input_helper } else { - if (!input.empty()) + if (JSON_HEDLEY_UNLIKELY(not input.empty())) { const auto wc2 = static_cast(input.get_character()); const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); @@ -399,7 +399,7 @@ using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval::value and - !std::is_array::value and + not std::is_array::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int >::type = 0 > From 897061c434563559bf9014f1e7e53962e928aec2 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 10:11:19 -0400 Subject: [PATCH 16/73] amalgamate --- single_include/nlohmann/json.hpp | 4 ++-- test/src/unit-user_defined_input.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 54b39ff5..8c007588 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4682,7 +4682,7 @@ struct wide_string_input_helper } else { - if (!input.empty()) + if (JSON_HEDLEY_UNLIKELY(not input.empty())) { const auto wc2 = static_cast(input.get_character()); const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); @@ -4821,7 +4821,7 @@ using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval::value and - !std::is_array::value and + not std::is_array::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int >::type = 0 > diff --git a/test/src/unit-user_defined_input.cpp b/test/src/unit-user_defined_input.cpp index 06be4e13..86f763d5 100644 --- a/test/src/unit-user_defined_input.cpp +++ b/test/src/unit-user_defined_input.cpp @@ -98,7 +98,7 @@ TEST_CASE("Custom iterator") { return *ptr; } - + bool operator!=(const MyIterator& rhs) const { return ptr != rhs.ptr; From 248f3102153a457d7f7058ef45405d8b1376bc1a Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 10:14:55 -0400 Subject: [PATCH 17/73] cleaned up custom iterator example --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fb793ab2..dfd5932e 100644 --- a/README.md +++ b/README.md @@ -454,7 +454,7 @@ struct MyIterator { } bool operator!=(const MyIterator& rhs) const { - return rhs.pos != pos || rhs.target != target; + return rhs.target != target; } reference operator*() const { @@ -462,15 +462,14 @@ struct MyIterator { } MyContainer* target = nullptr; - std::size_t pos = 0; }; MyIterator begin(MyContainer& tgt) { - return MyIterator{&tgt, 0} + return MyIterator{&tgt}; } MyIterator end(const MyContainer&) { - return MyIterator{nullptr, 0} + return {}; } void foo() { From d575534471044125256f1e03e150a8810aa304be Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 12:13:43 -0400 Subject: [PATCH 18/73] brought back the from_*(ptr, len) syntax with a deprecation warning --- include/nlohmann/json.hpp | 49 ++++++++++++++++++++++++++++++++ single_include/nlohmann/json.hpp | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 4cc329f9..bc0eda00 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6639,6 +6639,7 @@ class basic_json return result; } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(detail::span_input_adapter&& i, const parser_callback_t cb = nullptr, @@ -6661,6 +6662,8 @@ class basic_json return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); @@ -6728,6 +6731,7 @@ class basic_json } template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, @@ -7403,6 +7407,18 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_cbor(ptr, ptr + len, strict, allow_exceptions); + } + + + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_cbor(detail::span_input_adapter&& i, const bool strict = true, @@ -7531,6 +7547,17 @@ class basic_json } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_msgpack(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_msgpack(detail::span_input_adapter&& i, const bool strict = true, @@ -7634,7 +7661,18 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_ubjson(ptr, ptr + len, strict, allow_exceptions); + } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_ubjson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -7736,6 +7774,17 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_bson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_DEPRECATED(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 8c007588..0421302c 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -22402,6 +22402,7 @@ class basic_json return result; } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json parse(detail::span_input_adapter&& i, const parser_callback_t cb = nullptr, @@ -22424,6 +22425,8 @@ class basic_json return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); @@ -22491,6 +22494,7 @@ class basic_json } template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, @@ -23166,6 +23170,18 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_cbor(ptr, ptr + len, strict, allow_exceptions); + } + + + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_cbor(detail::span_input_adapter&& i, const bool strict = true, @@ -23294,6 +23310,17 @@ class basic_json } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_msgpack(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_msgpack(detail::span_input_adapter&& i, const bool strict = true, @@ -23397,7 +23424,18 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_ubjson(ptr, ptr + len, strict, allow_exceptions); + } + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_ubjson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -23499,6 +23537,17 @@ class basic_json return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_bson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_DEPRECATED(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, From ce3143a038cd94387c733b6044ee21548c3df789 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 12:16:10 -0400 Subject: [PATCH 19/73] use correct deprecation macro --- include/nlohmann/json.hpp | 2 +- single_include/nlohmann/json.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index bc0eda00..c3881cca 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -7784,7 +7784,7 @@ class basic_json return from_bson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED(3.8.0, from_bson(ptr, ptr + len)) + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 0421302c..85e42878 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -23547,7 +23547,7 @@ class basic_json return from_bson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED(3.8.0, from_bson(ptr, ptr + len)) + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, From 7646253940bfa8a5d41e04b9a34b59135e033b0e Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 12:20:02 -0400 Subject: [PATCH 20/73] fix inconsistent fwd declaration --- include/nlohmann/detail/input/input_adapters.hpp | 2 +- single_include/nlohmann/json.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 3d90ac3e..725ff1fe 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -147,7 +147,7 @@ class iterator_input_adapter IteratorType end; template - friend class wide_string_input_helper; + friend struct wide_string_input_helper; bool empty() const { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 85e42878..0b5b2a58 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4569,7 +4569,7 @@ class iterator_input_adapter IteratorType end; template - friend class wide_string_input_helper; + friend struct wide_string_input_helper; bool empty() const { From b715a706739deeaf2b14e098820f7fa0adba6087 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 12:26:29 -0400 Subject: [PATCH 21/73] changed macro order to satisfy clang --- include/nlohmann/json.hpp | 22 +++++++++++----------- single_include/nlohmann/json.hpp | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index c3881cca..592d1966 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6639,8 +6639,8 @@ class basic_json return result; } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) static basic_json parse(detail::span_input_adapter&& i, const parser_callback_t cb = nullptr, const bool allow_exceptions = true) @@ -6662,8 +6662,8 @@ class basic_json return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); @@ -6731,8 +6731,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) JSON_HEDLEY_NON_NULL(2) + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) @@ -7408,8 +7408,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) static basic_json from_cbor(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -7418,8 +7418,8 @@ class basic_json } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) static basic_json from_cbor(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -7548,8 +7548,8 @@ class basic_json template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) static basic_json from_msgpack(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -7557,8 +7557,8 @@ class basic_json return from_msgpack(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) static basic_json from_msgpack(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -7662,8 +7662,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) static basic_json from_ubjson(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -7671,8 +7671,8 @@ class basic_json return from_ubjson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) static basic_json from_ubjson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -7775,8 +7775,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) static basic_json from_bson(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -7784,8 +7784,8 @@ class basic_json return from_bson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 0b5b2a58..a684cdfa 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -22402,8 +22402,8 @@ class basic_json return result; } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) static basic_json parse(detail::span_input_adapter&& i, const parser_callback_t cb = nullptr, const bool allow_exceptions = true) @@ -22425,8 +22425,8 @@ class basic_json return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) static bool accept(detail::span_input_adapter&& i) { return parser(i.get()).accept(true); @@ -22494,8 +22494,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) JSON_HEDLEY_NON_NULL(2) + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) @@ -23171,8 +23171,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) static basic_json from_cbor(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -23181,8 +23181,8 @@ class basic_json } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) static basic_json from_cbor(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -23311,8 +23311,8 @@ class basic_json template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) static basic_json from_msgpack(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -23320,8 +23320,8 @@ class basic_json return from_msgpack(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) static basic_json from_msgpack(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -23425,8 +23425,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) static basic_json from_ubjson(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -23434,8 +23434,8 @@ class basic_json return from_ubjson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) static basic_json from_ubjson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) @@ -23538,8 +23538,8 @@ class basic_json } template - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) static basic_json from_bson(const T* ptr, std::size_t len, const bool strict = true, const bool allow_exceptions = true) @@ -23547,8 +23547,8 @@ class basic_json return from_bson(ptr, ptr + len, strict, allow_exceptions); } - JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) static basic_json from_bson(detail::span_input_adapter&& i, const bool strict = true, const bool allow_exceptions = true) From 0da131d717e90bcf96ba049a62a7cc6492e80427 Mon Sep 17 00:00:00 2001 From: Francois Chabot Date: Thu, 28 May 2020 17:12:26 -0400 Subject: [PATCH 22/73] minor readme correction --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dfd5932e..68b6dae7 100644 --- a/README.md +++ b/README.md @@ -416,7 +416,7 @@ Please note that setting the exception bit for `failbit` is inappropriate for th #### Read from iterator range -You can also parse JSON from an iterator range; that is, from any container accessible by iterators whose `value_type` is an integral type of 1, 2 or 4 bytes, for instance a `std::vector`, or a `std::list`: +You can also parse JSON from an iterator range; that is, from any container accessible by iterators whose `value_type` is an integral type of 1, 2 or 4 bytes, which will be interpreted as UTF-8, UTF-16 and UTF-32 respectively. For instance, a `std::vector`, or a `std::list`: ```cpp std::vector v = {'t', 'r', 'u', 'e'}; @@ -435,8 +435,6 @@ json j = json::parse(v); Since the parse function accepts arbitrary iterator ranges, you can provide your own data sources by implementing the `LegacyInputIterator` concept. ```cpp -struct MyContainer; - struct MyContainer { void advance(); const char& get_current(); @@ -451,6 +449,7 @@ struct MyIterator { MyIterator& operator++() { MyContainer.advance(); + return *this; } bool operator!=(const MyIterator& rhs) const { From fff14999631a05f00c191f1f92dd9369d7fab579 Mon Sep 17 00:00:00 2001 From: chenguoping Date: Tue, 2 Jun 2020 15:43:57 +0800 Subject: [PATCH 23/73] add comment about PR#1006 --- include/nlohmann/detail/output/output_adapters.hpp | 3 ++- single_include/nlohmann/json.hpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/detail/output/output_adapters.hpp b/include/nlohmann/detail/output/output_adapters.hpp index 71ca65b9..937af697 100644 --- a/include/nlohmann/detail/output/output_adapters.hpp +++ b/include/nlohmann/detail/output/output_adapters.hpp @@ -97,7 +97,8 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; - +/// dump to alternative string type, as defined in basic_json template +/// see https://github.com/nlohmann/json/pull/1006 template> class output_adapter { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 7a1aacb5..553284be 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -12208,7 +12208,8 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; - +/// dump to alternative string type, as defined in basic_json template +/// see https://github.com/nlohmann/json/pull/1006 template> class output_adapter { From eca4b8785c94b977b532715e59c4ef387fcb10ac Mon Sep 17 00:00:00 2001 From: chenguoping Date: Tue, 2 Jun 2020 15:44:26 +0800 Subject: [PATCH 24/73] fix test case in PR#1006 --- test/src/unit-alt-string.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/unit-alt-string.cpp b/test/src/unit-alt-string.cpp index 52a8e442..c8317b4d 100644 --- a/test/src/unit-alt-string.cpp +++ b/test/src/unit-alt-string.cpp @@ -225,9 +225,9 @@ TEST_CASE("alternative string type") { alt_json doc; - doc["list"] = { 1, 0, 2 }; + doc["object"] = { {"currency", "USD"}, {"value", 42.99} }; alt_string dump = doc.dump(); - CHECK(dump == R"({"list":[1,0,2]})"); + CHECK(dump == R"({"object":{"currency":"USD","value":42.99}})"); } } From 2df5f107a98486f599b0f9a982b1a8995d1ba1dc Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 4 Jun 2020 14:01:57 +0200 Subject: [PATCH 25/73] :memo: add page on parsing and exceptions --- doc/mkdocs/docs/features/parsing/index.md | 13 ++ .../docs/features/parsing/parse_exceptions.md | 114 ++++++++++++++++++ .../{ => parsing}/parser_callbacks.md | 0 .../features/{ => parsing}/sax_interface.md | 4 +- doc/mkdocs/mkdocs.yml | 7 +- 5 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 doc/mkdocs/docs/features/parsing/index.md create mode 100644 doc/mkdocs/docs/features/parsing/parse_exceptions.md rename doc/mkdocs/docs/features/{ => parsing}/parser_callbacks.md (100%) rename doc/mkdocs/docs/features/{ => parsing}/sax_interface.md (97%) diff --git a/doc/mkdocs/docs/features/parsing/index.md b/doc/mkdocs/docs/features/parsing/index.md new file mode 100644 index 00000000..5cf59bfe --- /dev/null +++ b/doc/mkdocs/docs/features/parsing/index.md @@ -0,0 +1,13 @@ +# Overview + +!!! note + + This page is under construction. + +## Input + +## SAX vs. DOM parsing + +## Exceptions + +See [parsing and exceptions](parse_exceptions.md). diff --git a/doc/mkdocs/docs/features/parsing/parse_exceptions.md b/doc/mkdocs/docs/features/parsing/parse_exceptions.md new file mode 100644 index 00000000..b882e0b5 --- /dev/null +++ b/doc/mkdocs/docs/features/parsing/parse_exceptions.md @@ -0,0 +1,114 @@ +# Parsing and exceptions + +When the input is not valid JSON, an exception of type [`parse_error`](../../home/exceptions.md#parse-errors) is thrown. This exception contains the position in the input where the error occurred, together with a diagnostic message and the last read input token. The exceptions page contains a [list of examples for parse error exceptions](../../home/exceptions.md#parse-errors). In case you process untrusted input, always enclose your code with a `#!cpp try`/`#!cpp catch` block, like + +```cpp +json j; +try +{ + j = json::parse(my_input); +} +catch (json::exception::parse_error& ex) +{ + std::cerr << "parse error at byte " << ex.byte << std::endl; +} +``` + +In case exceptions are undesired or not supported by the environment, there are different ways to proceed: + + +## Switch off exceptions + +The `parse()` function accepts as last parameter a `#!cpp bool` variable `allow_exceptions` which controls whether an exception is thrown when a parse error occurs (`#!cpp true`, default) or whether a discarded value should be returned (`#!cpp false`). + +```cpp +json j = json::parse(my_input, nullptr, false); +if (j.is_discarded()) +{ + std::cerr << "parse error" << std::endl; +} +``` + +Note there is no diagnostic information available in this scenario. + +## Use accept() function + +Alternatively, function `accept()` can be used which does not return a `json` value, but a `#!cpp bool` indicating whether the input is valid JSON. + +```cpp +if (!json::accept(my_input)) +{ + std::cerr << "parse error" << std::endl; +} +``` + +Again, there is no diagnostic information available. + + +## User-defined SAX interface + +Finally, you can implement the [SAX interface](sax_interface.md) and decide what should happen in case of a parse error. + +This function has the following interface: + +```cpp +bool parse_error(std::size_t position, + const std::string& last_token, + const json::exception& ex); +``` + +The return value indicates whether the parsing should continue, so the function should usually return `#!cpp false`. + +??? example + + ```cpp + #include + #include "json.hpp" + + using json = nlohmann::json; + + class sax_no_exception : public nlohmann::detail::json_sax_dom_parser + { + public: + sax_no_exception(json& j) + : nlohmann::detail::json_sax_dom_parser(j, false) + {} + + bool parse_error(std::size_t position, + const std::string& last_token, + const json::exception& ex) + { + std::cerr << "parse error at input byte " << position << "\n" + << ex.what() << "\n" + << "last read: \"" << last_token << "\"" + << std::endl; + return false; + } + }; + + int main() + { + std::string myinput = "[1,2,3,]"; + + json result; + sax_no_exception sax(result); + + bool parse_result = json::sax_parse(myinput, &sax); + if (!parse_result) + { + std::cerr << "parsing unsuccessful!" << std::endl; + } + + std::cout << "parsed value: " << result << std::endl; + } + ``` + + Output: + + ``` + parse error at input byte 8 + [json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - unexpected ']'; expected '[', '{', or a literal + last read: "3,]" + parsing unsuccessful! + parsed value: [1,2,3] + ``` diff --git a/doc/mkdocs/docs/features/parser_callbacks.md b/doc/mkdocs/docs/features/parsing/parser_callbacks.md similarity index 100% rename from doc/mkdocs/docs/features/parser_callbacks.md rename to doc/mkdocs/docs/features/parsing/parser_callbacks.md diff --git a/doc/mkdocs/docs/features/sax_interface.md b/doc/mkdocs/docs/features/parsing/sax_interface.md similarity index 97% rename from doc/mkdocs/docs/features/sax_interface.md rename to doc/mkdocs/docs/features/parsing/sax_interface.md index b25a59cc..ef83a532 100644 --- a/doc/mkdocs/docs/features/sax_interface.md +++ b/doc/mkdocs/docs/features/parsing/sax_interface.md @@ -21,7 +21,7 @@ interface json::sax_t { + {abstract} bool end_array() + {abstract} bool key(string_t& val) - + {abstract} bool parse_error(std::size_t position, const std::string& last_token, const detail::exception& ex) + + {abstract} bool parse_error(std::size_t position, const std::string& last_token, const json::exception& ex) } ``` @@ -51,7 +51,7 @@ bool end_array(); bool key(string_t& val); // called when a parse error occurs; byte position, the last token, and an exception is passed -bool parse_error(std::size_t position, const std::string& last_token, const detail::exception& ex); +bool parse_error(std::size_t position, const std::string& last_token, const json::exception& ex); ``` The return value of each function determines whether parsing should proceed. diff --git a/doc/mkdocs/mkdocs.yml b/doc/mkdocs/mkdocs.yml index a53dca2f..5d6e3b4e 100644 --- a/doc/mkdocs/mkdocs.yml +++ b/doc/mkdocs/mkdocs.yml @@ -49,8 +49,11 @@ nav: - features/json_patch.md - features/merge_patch.md - features/enum_conversion.md - - features/parser_callbacks.md - - features/sax_interface.md + - Parsing: + - features/parsing/index.md + - features/parsing/parse_exceptions.md + - features/parsing/parser_callbacks.md + - features/parsing/sax_interface.md - features/types.md - Integration: - integration/index.md From 0f67c5849f03926fd96542fcee6145263f98ea25 Mon Sep 17 00:00:00 2001 From: chenguoping Date: Fri, 5 Jun 2020 10:09:15 +0800 Subject: [PATCH 26/73] undo: remove comment --- include/nlohmann/detail/output/output_adapters.hpp | 2 -- single_include/nlohmann/json.hpp | 2 -- 2 files changed, 4 deletions(-) diff --git a/include/nlohmann/detail/output/output_adapters.hpp b/include/nlohmann/detail/output/output_adapters.hpp index 937af697..77fe7cc6 100644 --- a/include/nlohmann/detail/output/output_adapters.hpp +++ b/include/nlohmann/detail/output/output_adapters.hpp @@ -97,8 +97,6 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; -/// dump to alternative string type, as defined in basic_json template -/// see https://github.com/nlohmann/json/pull/1006 template> class output_adapter { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 553284be..b8b1ba46 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -12208,8 +12208,6 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; -/// dump to alternative string type, as defined in basic_json template -/// see https://github.com/nlohmann/json/pull/1006 template> class output_adapter { From ad2b4ff23bf47d4cddb71802d1c1bd17a99a3990 Mon Sep 17 00:00:00 2001 From: chenguoping Date: Fri, 5 Jun 2020 14:23:00 +0800 Subject: [PATCH 27/73] recover original blank line --- include/nlohmann/detail/output/output_adapters.hpp | 1 + single_include/nlohmann/json.hpp | 1 + 2 files changed, 2 insertions(+) diff --git a/include/nlohmann/detail/output/output_adapters.hpp b/include/nlohmann/detail/output/output_adapters.hpp index 77fe7cc6..71ca65b9 100644 --- a/include/nlohmann/detail/output/output_adapters.hpp +++ b/include/nlohmann/detail/output/output_adapters.hpp @@ -97,6 +97,7 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; + template> class output_adapter { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index b8b1ba46..7a1aacb5 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -12208,6 +12208,7 @@ class output_string_adapter : public output_adapter_protocol private: StringType& str; }; + template> class output_adapter { From dd7e25927fe7a49c81d07943c32444f0a9011665 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Fri, 5 Jun 2020 08:27:15 +0200 Subject: [PATCH 28/73] :rotating_light: fix warning --- test/src/unit-class_parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/src/unit-class_parser.cpp b/test/src/unit-class_parser.cpp index eb2fc9ff..5fa7b37e 100644 --- a/test/src/unit-class_parser.cpp +++ b/test/src/unit-class_parser.cpp @@ -1587,7 +1587,7 @@ TEST_CASE("parser class") CHECK (j_filtered1.size() == 2); CHECK (j_filtered1 == json({1, {{"qux", "baz"}}})); - json j_filtered2 = json::parse(structured_array, [](int, json::parse_event_t e, const json & parsed) + json j_filtered2 = json::parse(structured_array, [](int, json::parse_event_t e, const json & /*parsed*/) { if (e == json::parse_event_t::object_end) { From bf2e714e969f3508983d91c64a6e30e9e98acef9 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sat, 6 Jun 2020 14:30:17 +0200 Subject: [PATCH 29/73] :rotating_light: fix warnings --- Makefile | 2 +- .../nlohmann/detail/input/binary_reader.hpp | 44 +++--- .../nlohmann/detail/input/input_adapters.hpp | 20 +-- include/nlohmann/detail/input/lexer.hpp | 71 +++++---- include/nlohmann/json.hpp | 13 +- single_include/nlohmann/json.hpp | 148 ++++++++++-------- test/src/unit-class_parser.cpp | 2 +- test/src/unit-user_defined_input.cpp | 5 +- 8 files changed, 163 insertions(+), 142 deletions(-) diff --git a/Makefile b/Makefile index 6d09420c..8579fb5d 100644 --- a/Makefile +++ b/Makefile @@ -361,7 +361,7 @@ pedantic_gcc: -Wunused-const-variable=2 \ -Wunused-function \ -Wunused-label \ - -Wunused-local-typedefs \ + -Wno-unused-local-typedefs \ -Wunused-macros \ -Wunused-parameter \ -Wunused-result \ diff --git a/include/nlohmann/detail/input/binary_reader.hpp b/include/nlohmann/detail/input/binary_reader.hpp index e859c7d1..93667e8f 100644 --- a/include/nlohmann/detail/input/binary_reader.hpp +++ b/include/nlohmann/detail/input/binary_reader.hpp @@ -54,6 +54,8 @@ class binary_reader using string_t = typename BasicJsonType::string_t; using binary_t = typename BasicJsonType::binary_t; using json_sax_t = SAX; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; public: /*! @@ -122,7 +124,7 @@ class binary_reader get(); } - if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) { return sax->parse_error(chars_read, get_token_string(), parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"))); @@ -180,7 +182,7 @@ class binary_reader { return true; } - *out++ = static_cast(current); + *out++ = static_cast(current); } return true; @@ -206,7 +208,7 @@ class binary_reader return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"))); } - return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); + return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); } /*! @@ -245,7 +247,7 @@ class binary_reader Unsupported BSON record type 0x... @return whether a valid BSON-object/array was passed to the SAX parser */ - bool parse_bson_element_internal(const int element_type, + bool parse_bson_element_internal(const char_int_type element_type, const std::size_t element_type_parse_position) { switch (element_type) @@ -327,7 +329,7 @@ class binary_reader { string_t key; - while (int element_type = get()) + while (auto element_type = get()) { if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list"))) { @@ -395,7 +397,7 @@ class binary_reader switch (get_char ? get() : current) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::cbor, "value"); // Integer 0x00..0x17 (0..23) @@ -690,12 +692,12 @@ class binary_reader case 0xF9: // Half-Precision Float (two-byte IEEE 754) { - const int byte1_raw = get(); + const auto byte1_raw = get(); if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; } - const int byte2_raw = get(); + const auto byte2_raw = get(); if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; @@ -1048,7 +1050,7 @@ class binary_reader switch (get()) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::msgpack, "value"); // positive fixint @@ -1825,7 +1827,7 @@ class binary_reader @return whether pair creation completed */ - bool get_ubjson_size_type(std::pair& result) + bool get_ubjson_size_type(std::pair& result) { result.first = string_t::npos; // size result.second = 0; // type @@ -1866,11 +1868,11 @@ class binary_reader @param prefix the previously read or set type prefix @return whether value creation completed */ - bool get_ubjson_value(const int prefix) + bool get_ubjson_value(const char_int_type prefix) { switch (prefix) { - case std::char_traits::eof(): // EOF + case std::char_traits::eof(): // EOF return unexpect_eof(input_format_t::ubjson, "value"); case 'T': // true @@ -1935,7 +1937,7 @@ class binary_reader auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"))); } - string_t s(1, static_cast(current)); + string_t s(1, static_cast(current)); return sax->string(s); } @@ -1964,7 +1966,7 @@ class binary_reader */ bool get_ubjson_array() { - std::pair size_and_type; + std::pair size_and_type; if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; @@ -2026,7 +2028,7 @@ class binary_reader */ bool get_ubjson_object() { - std::pair size_and_type; + std::pair size_and_type; if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; @@ -2108,11 +2110,11 @@ class binary_reader This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued - `std::char_traits::eof()` in that case. + `std::char_traits::eof()` in that case. @return character read from the input */ - int get() + char_int_type get() { ++chars_read; return current = ia.get_character(); @@ -2121,7 +2123,7 @@ class binary_reader /*! @return character read from the input after ignoring all 'N' entries */ - int get_ignore_noop() + char_int_type get_ignore_noop() { do { @@ -2201,7 +2203,7 @@ class binary_reader { success = false; } - return static_cast(current); + return std::char_traits::to_char_type(current); }); return success; } @@ -2246,7 +2248,7 @@ class binary_reader JSON_HEDLEY_NON_NULL(3) bool unexpect_eof(const input_format_t format, const char* context) const { - if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) { return sax->parse_error(chars_read, "", parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context))); @@ -2306,7 +2308,7 @@ class binary_reader InputAdapterType ia; /// the current character - int current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// the number of characters read std::size_t chars_read = 0; diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 725ff1fe..0a108476 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -189,23 +189,23 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u) & 0x1Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u) & 0x1Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (wc <= 0xFFFF) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u) & 0x0Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u) & 0x0Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else if (wc <= 0x10FFFF) { - utf8_bytes[0] = static_cast::int_type>(0xF0u | ((wc >> 18u) & 0x07u)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 12u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[3] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xF0u | ((static_cast(wc) >> 18u) & 0x07u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 4; } else @@ -285,6 +285,8 @@ template class wide_string_input_adapter { public: + using char_type = char; + wide_string_input_adapter(BaseInputAdapter base) : base_adapter(base) {} diff --git a/include/nlohmann/detail/input/lexer.hpp b/include/nlohmann/detail/input/lexer.hpp index cf38a813..d7ff4963 100644 --- a/include/nlohmann/detail/input/lexer.hpp +++ b/include/nlohmann/detail/input/lexer.hpp @@ -106,12 +106,14 @@ class lexer : public lexer_base using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; public: using token_type = typename lexer_base::token_type; explicit lexer(InputAdapterType&& adapter) - : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {} + : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} // delete because of pointer members lexer(const lexer&) = delete; @@ -201,7 +203,7 @@ class lexer : public lexer_base @return true if and only if no range violation was detected */ - bool next_byte_in_range(std::initializer_list ranges) + bool next_byte_in_range(std::initializer_list ranges) { assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6); add(current); @@ -252,7 +254,7 @@ class lexer : public lexer_base switch (get()) { // end of file while parsing string - case std::char_traits::eof(): + case std::char_traits::eof(): { error_message = "invalid string: missing closing quote"; return token_type::parse_error; @@ -370,28 +372,28 @@ class lexer : public lexer_base if (codepoint < 0x80) { // 1-byte characters: 0xxxxxxx (ASCII) - add(codepoint); + add(static_cast(codepoint)); } else if (codepoint <= 0x7FF) { // 2-byte characters: 110xxxxx 10xxxxxx - add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else if (codepoint <= 0xFFFF) { // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx - add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else { // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } break; @@ -1213,13 +1215,13 @@ scan_number_done: @param[in] return_type the token type to return on success */ JSON_HEDLEY_NON_NULL(2) - token_type scan_literal(const char* literal_text, const std::size_t length, + token_type scan_literal(const char_type* literal_text, const std::size_t length, token_type return_type) { assert(current == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { - if (JSON_HEDLEY_UNLIKELY(get() != literal_text[i])) + if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) { error_message = "invalid literal"; return token_type::parse_error; @@ -1237,7 +1239,7 @@ scan_number_done: { token_buffer.clear(); token_string.clear(); - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } /* @@ -1250,7 +1252,7 @@ scan_number_done: @return character read from the input */ - std::char_traits::int_type get() + char_int_type get() { ++position.chars_read_total; ++position.chars_read_current_line; @@ -1265,9 +1267,9 @@ scan_number_done: current = ia.get_character(); } - if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } if (current == '\n') @@ -1306,7 +1308,7 @@ scan_number_done: --position.chars_read_current_line; } - if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { assert(not token_string.empty()); token_string.pop_back(); @@ -1314,9 +1316,9 @@ scan_number_done: } /// add a character to token_buffer - void add(int c) + void add(char_int_type c) { - token_buffer.push_back(std::char_traits::to_char_type(c)); + token_buffer.push_back(static_cast(c)); } public: @@ -1377,7 +1379,7 @@ scan_number_done: else { // add character as is - result.push_back(c); + result.push_back(static_cast(c)); } } @@ -1447,11 +1449,20 @@ scan_number_done: // literals case 't': - return scan_literal("true", 4, token_type::literal_true); + { + char_type true_literal[] = "true"; + return scan_literal(true_literal, 4, token_type::literal_true); + } case 'f': - return scan_literal("false", 5, token_type::literal_false); + { + char_type false_literal[] = "false"; + return scan_literal(false_literal, 5, token_type::literal_false); + } case 'n': - return scan_literal("null", 4, token_type::literal_null); + { + char_type null_literal[] = "null"; + return scan_literal(null_literal, 4, token_type::literal_null); + } // string case '\"': @@ -1474,7 +1485,7 @@ scan_number_done: // end of input (the null byte is needed when parsing from // string literals) case '\0': - case std::char_traits::eof(): + case std::char_traits::eof(): return token_type::end_of_input; // error @@ -1489,7 +1500,7 @@ scan_number_done: InputAdapterType ia; /// the current character - std::char_traits::int_type current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// whether the next get() call should just return current bool next_unget = false; @@ -1498,7 +1509,7 @@ scan_number_done: position_t position {}; /// raw input token string (for error messages) - std::vector token_string {}; + std::vector token_string {}; /// buffer for variable-length tokens (numbers, strings) string_t token_buffer {}; @@ -1512,7 +1523,7 @@ scan_number_done: number_float_t value_float = 0; /// the decimal point - const char decimal_point_char = '.'; + const char_type decimal_point_char = '.'; }; } // namespace detail } // namespace nlohmann diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 592d1966..86a8616e 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -4764,7 +4764,7 @@ class basic_json future 4.0.0 of the library. Please use @ref items() instead; that is, replace `json::iterator_wrapper(j)` with `j.items()`. */ - JSON_HEDLEY_DEPRECATED(3.1.0) + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(reference ref) noexcept { return ref.items(); @@ -4773,7 +4773,7 @@ class basic_json /*! @copydoc iterator_wrapper(reference) */ - JSON_HEDLEY_DEPRECATED(3.1.0) + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(const_reference ref) noexcept { return ref.items(); @@ -6530,7 +6530,7 @@ class basic_json instead; that is, replace calls like `j >> o;` with `o << j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_HEDLEY_DEPRECATED(3.0.0) + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&)) friend std::ostream& operator>>(const basic_json& j, std::ostream& o) { return o << j; @@ -6731,8 +6731,8 @@ class basic_json } template - JSON_HEDLEY_NON_NULL(2) JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) @@ -6743,9 +6743,6 @@ class basic_json : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } - - - /*! @brief deserialize from stream @deprecated This stream operator is deprecated and will be removed in @@ -6754,7 +6751,7 @@ class basic_json instead; that is, replace calls like `j << i;` with `i >> j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_HEDLEY_DEPRECATED(3.0.0) + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&)) friend std::istream& operator<<(basic_json& j, std::istream& i) { return operator>>(i, j); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index a24a08b5..1b4c8c5b 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4611,23 +4611,23 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u) & 0x1Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u) & 0x1Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (wc <= 0xFFFF) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u) & 0x0Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u) & 0x0Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else if (wc <= 0x10FFFF) { - utf8_bytes[0] = static_cast::int_type>(0xF0u | ((wc >> 18u) & 0x07u)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 12u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[3] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xF0u | ((static_cast(wc) >> 18u) & 0x07u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 4; } else @@ -4707,6 +4707,8 @@ template class wide_string_input_adapter { public: + using char_type = char; + wide_string_input_adapter(BaseInputAdapter base) : base_adapter(base) {} @@ -5786,6 +5788,8 @@ class binary_reader using string_t = typename BasicJsonType::string_t; using binary_t = typename BasicJsonType::binary_t; using json_sax_t = SAX; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; public: /*! @@ -5854,7 +5858,7 @@ class binary_reader get(); } - if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) { return sax->parse_error(chars_read, get_token_string(), parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"))); @@ -5912,7 +5916,7 @@ class binary_reader { return true; } - *out++ = static_cast(current); + *out++ = static_cast(current); } return true; @@ -5938,7 +5942,7 @@ class binary_reader return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"))); } - return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); + return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); } /*! @@ -5977,7 +5981,7 @@ class binary_reader Unsupported BSON record type 0x... @return whether a valid BSON-object/array was passed to the SAX parser */ - bool parse_bson_element_internal(const int element_type, + bool parse_bson_element_internal(const char_int_type element_type, const std::size_t element_type_parse_position) { switch (element_type) @@ -6059,7 +6063,7 @@ class binary_reader { string_t key; - while (int element_type = get()) + while (auto element_type = get()) { if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list"))) { @@ -6127,7 +6131,7 @@ class binary_reader switch (get_char ? get() : current) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::cbor, "value"); // Integer 0x00..0x17 (0..23) @@ -6422,12 +6426,12 @@ class binary_reader case 0xF9: // Half-Precision Float (two-byte IEEE 754) { - const int byte1_raw = get(); + const auto byte1_raw = get(); if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; } - const int byte2_raw = get(); + const auto byte2_raw = get(); if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; @@ -6780,7 +6784,7 @@ class binary_reader switch (get()) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::msgpack, "value"); // positive fixint @@ -7557,7 +7561,7 @@ class binary_reader @return whether pair creation completed */ - bool get_ubjson_size_type(std::pair& result) + bool get_ubjson_size_type(std::pair& result) { result.first = string_t::npos; // size result.second = 0; // type @@ -7598,11 +7602,11 @@ class binary_reader @param prefix the previously read or set type prefix @return whether value creation completed */ - bool get_ubjson_value(const int prefix) + bool get_ubjson_value(const char_int_type prefix) { switch (prefix) { - case std::char_traits::eof(): // EOF + case std::char_traits::eof(): // EOF return unexpect_eof(input_format_t::ubjson, "value"); case 'T': // true @@ -7667,7 +7671,7 @@ class binary_reader auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"))); } - string_t s(1, static_cast(current)); + string_t s(1, static_cast(current)); return sax->string(s); } @@ -7696,7 +7700,7 @@ class binary_reader */ bool get_ubjson_array() { - std::pair size_and_type; + std::pair size_and_type; if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; @@ -7758,7 +7762,7 @@ class binary_reader */ bool get_ubjson_object() { - std::pair size_and_type; + std::pair size_and_type; if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; @@ -7840,11 +7844,11 @@ class binary_reader This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued - `std::char_traits::eof()` in that case. + `std::char_traits::eof()` in that case. @return character read from the input */ - int get() + char_int_type get() { ++chars_read; return current = ia.get_character(); @@ -7853,7 +7857,7 @@ class binary_reader /*! @return character read from the input after ignoring all 'N' entries */ - int get_ignore_noop() + char_int_type get_ignore_noop() { do { @@ -7933,7 +7937,7 @@ class binary_reader { success = false; } - return static_cast(current); + return std::char_traits::to_char_type(current); }); return success; } @@ -7978,7 +7982,7 @@ class binary_reader JSON_HEDLEY_NON_NULL(3) bool unexpect_eof(const input_format_t format, const char* context) const { - if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) { return sax->parse_error(chars_read, "", parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context))); @@ -8038,7 +8042,7 @@ class binary_reader InputAdapterType ia; /// the current character - int current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// the number of characters read std::size_t chars_read = 0; @@ -8166,12 +8170,14 @@ class lexer : public lexer_base using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; public: using token_type = typename lexer_base::token_type; explicit lexer(InputAdapterType&& adapter) - : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {} + : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} // delete because of pointer members lexer(const lexer&) = delete; @@ -8261,7 +8267,7 @@ class lexer : public lexer_base @return true if and only if no range violation was detected */ - bool next_byte_in_range(std::initializer_list ranges) + bool next_byte_in_range(std::initializer_list ranges) { assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6); add(current); @@ -8312,7 +8318,7 @@ class lexer : public lexer_base switch (get()) { // end of file while parsing string - case std::char_traits::eof(): + case std::char_traits::eof(): { error_message = "invalid string: missing closing quote"; return token_type::parse_error; @@ -8430,28 +8436,28 @@ class lexer : public lexer_base if (codepoint < 0x80) { // 1-byte characters: 0xxxxxxx (ASCII) - add(codepoint); + add(static_cast(codepoint)); } else if (codepoint <= 0x7FF) { // 2-byte characters: 110xxxxx 10xxxxxx - add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else if (codepoint <= 0xFFFF) { // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx - add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else { // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } break; @@ -9273,13 +9279,13 @@ scan_number_done: @param[in] return_type the token type to return on success */ JSON_HEDLEY_NON_NULL(2) - token_type scan_literal(const char* literal_text, const std::size_t length, + token_type scan_literal(const char_type* literal_text, const std::size_t length, token_type return_type) { assert(current == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { - if (JSON_HEDLEY_UNLIKELY(get() != literal_text[i])) + if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) { error_message = "invalid literal"; return token_type::parse_error; @@ -9297,7 +9303,7 @@ scan_number_done: { token_buffer.clear(); token_string.clear(); - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } /* @@ -9310,7 +9316,7 @@ scan_number_done: @return character read from the input */ - std::char_traits::int_type get() + char_int_type get() { ++position.chars_read_total; ++position.chars_read_current_line; @@ -9325,9 +9331,9 @@ scan_number_done: current = ia.get_character(); } - if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } if (current == '\n') @@ -9366,7 +9372,7 @@ scan_number_done: --position.chars_read_current_line; } - if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { assert(not token_string.empty()); token_string.pop_back(); @@ -9374,9 +9380,9 @@ scan_number_done: } /// add a character to token_buffer - void add(int c) + void add(char_int_type c) { - token_buffer.push_back(std::char_traits::to_char_type(c)); + token_buffer.push_back(static_cast(c)); } public: @@ -9437,7 +9443,7 @@ scan_number_done: else { // add character as is - result.push_back(c); + result.push_back(static_cast(c)); } } @@ -9507,11 +9513,20 @@ scan_number_done: // literals case 't': - return scan_literal("true", 4, token_type::literal_true); + { + char_type true_literal[] = "true"; + return scan_literal(true_literal, 4, token_type::literal_true); + } case 'f': - return scan_literal("false", 5, token_type::literal_false); + { + char_type false_literal[] = "false"; + return scan_literal(false_literal, 5, token_type::literal_false); + } case 'n': - return scan_literal("null", 4, token_type::literal_null); + { + char_type null_literal[] = "null"; + return scan_literal(null_literal, 4, token_type::literal_null); + } // string case '\"': @@ -9534,7 +9549,7 @@ scan_number_done: // end of input (the null byte is needed when parsing from // string literals) case '\0': - case std::char_traits::eof(): + case std::char_traits::eof(): return token_type::end_of_input; // error @@ -9549,7 +9564,7 @@ scan_number_done: InputAdapterType ia; /// the current character - std::char_traits::int_type current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// whether the next get() call should just return current bool next_unget = false; @@ -9558,7 +9573,7 @@ scan_number_done: position_t position {}; /// raw input token string (for error messages) - std::vector token_string {}; + std::vector token_string {}; /// buffer for variable-length tokens (numbers, strings) string_t token_buffer {}; @@ -9572,7 +9587,7 @@ scan_number_done: number_float_t value_float = 0; /// the decimal point - const char decimal_point_char = '.'; + const char_type decimal_point_char = '.'; }; } // namespace detail } // namespace nlohmann @@ -20527,7 +20542,7 @@ class basic_json future 4.0.0 of the library. Please use @ref items() instead; that is, replace `json::iterator_wrapper(j)` with `j.items()`. */ - JSON_HEDLEY_DEPRECATED(3.1.0) + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(reference ref) noexcept { return ref.items(); @@ -20536,7 +20551,7 @@ class basic_json /*! @copydoc iterator_wrapper(reference) */ - JSON_HEDLEY_DEPRECATED(3.1.0) + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(const_reference ref) noexcept { return ref.items(); @@ -22293,7 +22308,7 @@ class basic_json instead; that is, replace calls like `j >> o;` with `o << j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_HEDLEY_DEPRECATED(3.0.0) + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&)) friend std::ostream& operator>>(const basic_json& j, std::ostream& o) { return o << j; @@ -22494,8 +22509,8 @@ class basic_json } template - JSON_HEDLEY_NON_NULL(2) JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) @@ -22506,9 +22521,6 @@ class basic_json : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } - - - /*! @brief deserialize from stream @deprecated This stream operator is deprecated and will be removed in @@ -22517,7 +22529,7 @@ class basic_json instead; that is, replace calls like `j << i;` with `i >> j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_HEDLEY_DEPRECATED(3.0.0) + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&)) friend std::istream& operator<<(basic_json& j, std::istream& i) { return operator>>(i, j); diff --git a/test/src/unit-class_parser.cpp b/test/src/unit-class_parser.cpp index 5fa7b37e..097b3060 100644 --- a/test/src/unit-class_parser.cpp +++ b/test/src/unit-class_parser.cpp @@ -1587,7 +1587,7 @@ TEST_CASE("parser class") CHECK (j_filtered1.size() == 2); CHECK (j_filtered1 == json({1, {{"qux", "baz"}}})); - json j_filtered2 = json::parse(structured_array, [](int, json::parse_event_t e, const json & /*parsed*/) + json j_filtered2 = json::parse(structured_array, [](int, json::parse_event_t e, const json& /*parsed*/) { if (e == json::parse_event_t::object_end) { diff --git a/test/src/unit-user_defined_input.cpp b/test/src/unit-user_defined_input.cpp index 86f763d5..f0895a5d 100644 --- a/test/src/unit-user_defined_input.cpp +++ b/test/src/unit-user_defined_input.cpp @@ -87,7 +87,6 @@ TEST_CASE("Custom iterator") using reference = const char&; using iterator_category = std::input_iterator_tag; - MyIterator& operator++() { ++ptr; @@ -117,6 +116,4 @@ TEST_CASE("Custom iterator") CHECK(as_json.at(3) == 4); } - - -} \ No newline at end of file +} // namespace From 225c8f150ad6b098de6a650fc0cce613d5d66802 Mon Sep 17 00:00:00 2001 From: Guillaume Racicot Date: Sat, 6 Jun 2020 11:36:39 -0400 Subject: [PATCH 30/73] Disable std::swap specialization in C++20 and added a friend swap function --- include/nlohmann/detail/macro_scope.hpp | 6 +++- include/nlohmann/json.hpp | 33 +++++++++++++++++++++ single_include/nlohmann/json.hpp | 39 ++++++++++++++++++++++++- 3 files changed, 76 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/detail/macro_scope.hpp b/include/nlohmann/detail/macro_scope.hpp index 25e6b76e..a48d18e8 100644 --- a/include/nlohmann/detail/macro_scope.hpp +++ b/include/nlohmann/detail/macro_scope.hpp @@ -20,7 +20,11 @@ #endif // C++ language standard detection -#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 +#if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 #define JSON_HAS_CPP_17 #define JSON_HAS_CPP_14 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 592d1966..abc53056 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -5865,6 +5865,34 @@ class basic_json /*! @brief exchanges the values + Exchanges the contents of the JSON value from @a left with those of @a right. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. implemented as a friend function callable via ADL. + + @param[in,out] left JSON value to exchange the contents with + @param[in,out] right JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + friend void swap(reference left, reference right) noexcept ( + std::is_nothrow_move_constructible::value and + std::is_nothrow_move_assignable::value and + std::is_nothrow_move_constructible::value and + std::is_nothrow_move_assignable::value + ) + { + left.swap(right); + } + + /*! + @brief exchanges the values + Exchanges the contents of a JSON array with those of @a other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is @@ -8635,6 +8663,9 @@ struct less<::nlohmann::detail::value_t> } }; +// C++20 prohibit function specialization in the std namespace. +#ifndef JSON_HAS_CPP_20 + /*! @brief exchanges the values of two JSON objects @@ -8649,6 +8680,8 @@ inline void swap(nlohmann::json& j1, nlohmann::json& j2) noexcep j1.swap(j2); } +#endif + } // namespace std /*! diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index a24a08b5..53a9380c 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -2048,7 +2048,11 @@ JSON_HEDLEY_DIAGNOSTIC_POP #endif // C++ language standard detection -#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 +#if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 #define JSON_HAS_CPP_17 #define JSON_HAS_CPP_14 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) @@ -21628,6 +21632,34 @@ class basic_json /*! @brief exchanges the values + Exchanges the contents of the JSON value from @a left with those of @a right. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. implemented as a friend function callable via ADL. + + @param[in,out] left JSON value to exchange the contents with + @param[in,out] right JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + friend void swap(reference left, reference right) noexcept ( + std::is_nothrow_move_constructible::value and + std::is_nothrow_move_assignable::value and + std::is_nothrow_move_constructible::value and + std::is_nothrow_move_assignable::value + ) + { + left.swap(right); + } + + /*! + @brief exchanges the values + Exchanges the contents of a JSON array with those of @a other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is @@ -24398,6 +24430,9 @@ struct less<::nlohmann::detail::value_t> } }; +// C++20 prohibit function specialization in the std namespace. +#ifndef JSON_HAS_CPP_20 + /*! @brief exchanges the values of two JSON objects @@ -24412,6 +24447,8 @@ inline void swap(nlohmann::json& j1, nlohmann::json& j2) noexcep j1.swap(j2); } +#endif + } // namespace std /*! From 82fbbeeac5c4a75fa4af95f10c97c56ef95ddbed Mon Sep 17 00:00:00 2001 From: Guillaume Racicot Date: Sat, 6 Jun 2020 12:28:52 -0400 Subject: [PATCH 31/73] Adapted unit tests to use ADL calls for swap like the new swappable concept --- test/src/unit-concepts.cpp | 4 ++-- test/src/unit-modifiers.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/test/src/unit-concepts.cpp b/test/src/unit-concepts.cpp index 899d1eaf..1f3afc0c 100644 --- a/test/src/unit-concepts.cpp +++ b/test/src/unit-concepts.cpp @@ -154,7 +154,7 @@ TEST_CASE("concepts") json j {1, 2, 3}; json::iterator it1 = j.begin(); json::iterator it2 = j.end(); - std::swap(it1, it2); + swap(it1, it2); CHECK(it1 == j.end()); CHECK(it2 == j.begin()); } @@ -162,7 +162,7 @@ TEST_CASE("concepts") json j {1, 2, 3}; json::const_iterator it1 = j.cbegin(); json::const_iterator it2 = j.cend(); - std::swap(it1, it2); + swap(it1, it2); CHECK(it1 == j.end()); CHECK(it2 == j.begin()); } diff --git a/test/src/unit-modifiers.cpp b/test/src/unit-modifiers.cpp index 9214c608..4b8d0762 100644 --- a/test/src/unit-modifiers.cpp +++ b/test/src/unit-modifiers.cpp @@ -878,7 +878,8 @@ TEST_CASE("modifiers") json j("hello world"); json k(42.23); - std::swap(j, k); + using std::swap; + swap(j, k); CHECK(j == json(42.23)); CHECK(k == json("hello world")); From e6a7e7a16a964a5babf00538c07edbbd02c585d6 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 12:41:36 +0200 Subject: [PATCH 32/73] :ambulance: hotfix for #2177 --- include/nlohmann/json.hpp | 2 +- single_include/nlohmann/json.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 592d1966..f2500ace 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6731,8 +6731,8 @@ class basic_json } template - JSON_HEDLEY_NON_NULL(2) JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index a24a08b5..429da5ec 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -22494,8 +22494,8 @@ class basic_json } template - JSON_HEDLEY_NON_NULL(2) JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) From 907803189b2bfc9b3b36f026efa13c72bad537b3 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 12:51:33 +0200 Subject: [PATCH 33/73] :checkered_flag: fix MSVC 2015 compilation --- include/nlohmann/detail/input/lexer.hpp | 12 ++++++------ single_include/nlohmann/json.hpp | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/nlohmann/detail/input/lexer.hpp b/include/nlohmann/detail/input/lexer.hpp index d7ff4963..e710140b 100644 --- a/include/nlohmann/detail/input/lexer.hpp +++ b/include/nlohmann/detail/input/lexer.hpp @@ -1450,18 +1450,18 @@ scan_number_done: // literals case 't': { - char_type true_literal[] = "true"; - return scan_literal(true_literal, 4, token_type::literal_true); + std::array true_literal = {{'t', 'r', 'u', 'e'}}; + return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true); } case 'f': { - char_type false_literal[] = "false"; - return scan_literal(false_literal, 5, token_type::literal_false); + std::array false_literal = {{'f', 'a', 'l', 's', 'e'}}; + return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false); } case 'n': { - char_type null_literal[] = "null"; - return scan_literal(null_literal, 4, token_type::literal_null); + std::array null_literal = {{'n', 'u', 'l', 'l'}}; + return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null); } // string diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 1b4c8c5b..366a6fe8 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -9514,18 +9514,18 @@ scan_number_done: // literals case 't': { - char_type true_literal[] = "true"; - return scan_literal(true_literal, 4, token_type::literal_true); + std::array true_literal = {{'t', 'r', 'u', 'e'}}; + return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true); } case 'f': { - char_type false_literal[] = "false"; - return scan_literal(false_literal, 5, token_type::literal_false); + std::array false_literal = {{'f', 'a', 'l', 's', 'e'}}; + return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false); } case 'n': { - char_type null_literal[] = "null"; - return scan_literal(null_literal, 4, token_type::literal_null); + std::array null_literal = {{'n', 'u', 'l', 'l'}}; + return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null); } // string From 8c1d26e186176e3576540ae7a37b117c147822ec Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 20:59:43 +0200 Subject: [PATCH 34/73] :memo: add documentation and example for accept function --- doc/examples/accept__string.cpp | 26 ++++++++++++++++++++++++++ doc/examples/accept__string.link | 1 + doc/examples/accept__string.output | 1 + include/nlohmann/json.hpp | 29 ++++++++++++++++++++++++++++- single_include/nlohmann/json.hpp | 29 ++++++++++++++++++++++++++++- 5 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 doc/examples/accept__string.cpp create mode 100644 doc/examples/accept__string.link create mode 100644 doc/examples/accept__string.output diff --git a/doc/examples/accept__string.cpp b/doc/examples/accept__string.cpp new file mode 100644 index 00000000..8eb3d9b7 --- /dev/null +++ b/doc/examples/accept__string.cpp @@ -0,0 +1,26 @@ +#include +#include +#include + +using json = nlohmann::json; + +int main() +{ + // a valid JSON text + auto valid_text = R"( + { + "numbers": [1, 2, 3] + } + )"; + + // an invalid JSON text + auto invalid_text = R"( + { + "strings": ["extra", "comma", ] + } + )"; + + std::cout << std::boolalpha + << json::accept(valid_text) << ' ' + << json::accept(invalid_text) << '\n'; +} diff --git a/doc/examples/accept__string.link b/doc/examples/accept__string.link new file mode 100644 index 00000000..8456e3bf --- /dev/null +++ b/doc/examples/accept__string.link @@ -0,0 +1 @@ +online \ No newline at end of file diff --git a/doc/examples/accept__string.output b/doc/examples/accept__string.output new file mode 100644 index 00000000..836a5934 --- /dev/null +++ b/doc/examples/accept__string.output @@ -0,0 +1 @@ +true false diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 86a8616e..d1dc4119 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -6549,7 +6549,7 @@ class basic_json /*! @brief deserialize from a compatible input - This function reads from a compatible input. Examples are: + @tparam InputType A compatible input, for instance - an std::istream object - a FILE pointer - a C-style array of characters @@ -6650,6 +6650,33 @@ class basic_json return result; } + /*! + @brief check if the input is valid JSON + + Unlike the @ref parse(InputType&&, const parser_callback_t,const bool) + function, this function neither throws an exception in case of invalid JSON + input (i.e., a parse error) nor creates diagnostic information. + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + + @return Whether the input read from @a i is valid JSON. + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `accept()` function reading + from a string.,accept__string} + */ template static bool accept(InputType&& i) { diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 366a6fe8..dd9b21c4 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -22327,7 +22327,7 @@ class basic_json /*! @brief deserialize from a compatible input - This function reads from a compatible input. Examples are: + @tparam InputType A compatible input, for instance - an std::istream object - a FILE pointer - a C-style array of characters @@ -22428,6 +22428,33 @@ class basic_json return result; } + /*! + @brief check if the input is valid JSON + + Unlike the @ref parse(InputType&&, const parser_callback_t,const bool) + function, this function neither throws an exception in case of invalid JSON + input (i.e., a parse error) nor creates diagnostic information. + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + + @return Whether the input read from @a i is valid JSON. + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `accept()` function reading + from a string.,accept__string} + */ template static bool accept(InputType&& i) { From eca5490b94b5d82c90f645126e0b57bfbbb637ab Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 21:01:13 +0200 Subject: [PATCH 35/73] :memo: add example link for swap function --- doc/examples/swap__binary_t.link | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/examples/swap__binary_t.link diff --git a/doc/examples/swap__binary_t.link b/doc/examples/swap__binary_t.link new file mode 100644 index 00000000..f035a717 --- /dev/null +++ b/doc/examples/swap__binary_t.link @@ -0,0 +1 @@ +online \ No newline at end of file From 6d73126ea9b9579a44e4ab42818f16f414aea1f9 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 22:47:25 +0200 Subject: [PATCH 36/73] :rotating_light: fix warnings --- include/nlohmann/detail/input/input_adapters.hpp | 12 ++++++------ include/nlohmann/detail/input/lexer.hpp | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 0a108476..923a7aaa 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -247,15 +247,15 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (0xD800 > wc or wc >= 0xE000) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else @@ -263,7 +263,7 @@ struct wide_string_input_helper if (JSON_HEDLEY_UNLIKELY(not input.empty())) { const auto wc2 = static_cast(input.get_character()); - const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); + const auto charcode = 0x10000u + (((static_cast(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); utf8_bytes[2] = static_cast::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu)); diff --git a/include/nlohmann/detail/input/lexer.hpp b/include/nlohmann/detail/input/lexer.hpp index e710140b..0ff0c736 100644 --- a/include/nlohmann/detail/input/lexer.hpp +++ b/include/nlohmann/detail/input/lexer.hpp @@ -113,7 +113,7 @@ class lexer : public lexer_base using token_type = typename lexer_base::token_type; explicit lexer(InputAdapterType&& adapter) - : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} + : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} // delete because of pointer members lexer(const lexer&) = delete; @@ -1218,7 +1218,7 @@ scan_number_done: token_type scan_literal(const char_type* literal_text, const std::size_t length, token_type return_type) { - assert(current == literal_text[0]); + assert(std::char_traits::to_char_type(current) == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) @@ -1523,7 +1523,7 @@ scan_number_done: number_float_t value_float = 0; /// the decimal point - const char_type decimal_point_char = '.'; + const char_int_type decimal_point_char = '.'; }; } // namespace detail } // namespace nlohmann From d4bc0c39af0f199d8e830c6c09f53eb23ed824a2 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 22:47:54 +0200 Subject: [PATCH 37/73] :white_check_mark: add test for character types --- test/src/unit-deserialization.cpp | 57 +++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp index 15744b9e..63126654 100644 --- a/test/src/unit-deserialization.cpp +++ b/test/src/unit-deserialization.cpp @@ -1039,3 +1039,60 @@ TEST_CASE("deserialization") })); } } + +TEST_CASE_TEMPLATE("deserialization of different character types", T, + char, unsigned char, signed char, + wchar_t, + char16_t, char32_t, + std::uint8_t, std::int8_t, + std::int16_t, std::uint16_t, + std::int32_t, std::uint32_t) +{ + std::vector v = {'t', 'r', 'u', 'e'}; + CHECK(json::parse(v) == json(true)); + CHECK(json::accept(v)); + + SaxEventLogger l; + CHECK(json::sax_parse(v, &l)); + CHECK(l.events.size() == 1); + CHECK(l.events == std::vector({"boolean(true)"})); +} + +TEST_CASE_TEMPLATE("deserialization of different character types (UTF-8)", T, + char, unsigned char, std::uint8_t) +{ + // a star emoji + std::vector v = {'"', static_cast(0xe2), static_cast(0xad), static_cast(0x90), static_cast(0xef), static_cast(0xb8), static_cast(0x8f), '"'}; + CHECK(json::parse(v).dump(-1, ' ', true) == "\"\\u2b50\\ufe0f\""); + CHECK(json::accept(v)); + + SaxEventLogger l; + CHECK(json::sax_parse(v, &l)); + CHECK(l.events.size() == 1); +} + +TEST_CASE_TEMPLATE("deserialization of different character types (UTF-16)", T, + char16_t, std::uint16_t) +{ + // a star emoji + std::vector v = {static_cast('"'), static_cast(0x2b50), static_cast(0xfe0f), static_cast('"')}; + CHECK(json::parse(v).dump(-1, ' ', true) == "\"\\u2b50\\ufe0f\""); + CHECK(json::accept(v)); + + SaxEventLogger l; + CHECK(json::sax_parse(v, &l)); + CHECK(l.events.size() == 1); +} + +TEST_CASE_TEMPLATE("deserialization of different character types (UTF-32)", T, + char32_t, std::uint32_t) +{ + // a star emoji + std::vector v = {static_cast('"'), static_cast(0x2b50), static_cast(0xfe0f), static_cast('"')}; + CHECK(json::parse(v).dump(-1, ' ', true) == "\"\\u2b50\\ufe0f\""); + CHECK(json::accept(v)); + + SaxEventLogger l; + CHECK(json::sax_parse(v, &l)); + CHECK(l.events.size() == 1); +} From 2cf16625acefe244fc508284d5c2850e08976c73 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 7 Jun 2020 22:49:39 +0200 Subject: [PATCH 38/73] :white_check_mark: add test for character types --- test/src/unit-deserialization.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp index 63126654..88b1f3c5 100644 --- a/test/src/unit-deserialization.cpp +++ b/test/src/unit-deserialization.cpp @@ -1040,7 +1040,7 @@ TEST_CASE("deserialization") } } -TEST_CASE_TEMPLATE("deserialization of different character types", T, +TEST_CASE_TEMPLATE("deserialization of different character types (ASCII)", T, char, unsigned char, signed char, wchar_t, char16_t, char32_t, From ae04426c856ef5f5bd6d54fea069836ba3499f94 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Mon, 8 Jun 2020 20:07:15 +0200 Subject: [PATCH 39/73] :checkered_flag: fix for MSVC (see https://github.com/nlohmann/json/pull/2178#issuecomment-640622532) --- .../nlohmann/detail/input/input_adapters.hpp | 13 +++++--- single_include/nlohmann/json.hpp | 31 ++++++++++--------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 923a7aaa..ed9db0f6 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -339,15 +339,18 @@ struct iterator_input_adapter_factory } }; -// This test breaks astyle formatting when inlined in a template specialization. template -inline constexpr bool is_iterator_of_multibyte() +struct is_iterator_of_multibyte { - return sizeof(typename std::iterator_traits::value_type) > 1; -} + using value_type = typename std::iterator_traits::value_type; + enum + { + value = sizeof(value_type) > 1 + }; +}; template -struct iterator_input_adapter_factory()>> +struct iterator_input_adapter_factory::value>> { using iterator_type = IteratorType; using char_type = typename std::iterator_traits::value_type; diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index dd9b21c4..e45a756f 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4669,15 +4669,15 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (0xD800 > wc or wc >= 0xE000) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else @@ -4685,7 +4685,7 @@ struct wide_string_input_helper if (JSON_HEDLEY_UNLIKELY(not input.empty())) { const auto wc2 = static_cast(input.get_character()); - const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); + const auto charcode = 0x10000u + (((static_cast(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); utf8_bytes[2] = static_cast::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu)); @@ -4761,15 +4761,18 @@ struct iterator_input_adapter_factory } }; -// This test breaks astyle formatting when inlined in a template specialization. template -inline constexpr bool is_iterator_of_multibyte() +struct is_iterator_of_multibyte { - return sizeof(typename std::iterator_traits::value_type) > 1; -} + using value_type = typename std::iterator_traits::value_type; + enum + { + value = sizeof(value_type) > 1 + }; +}; template -struct iterator_input_adapter_factory()>> +struct iterator_input_adapter_factory::value>> { using iterator_type = IteratorType; using char_type = typename std::iterator_traits::value_type; @@ -8177,7 +8180,7 @@ class lexer : public lexer_base using token_type = typename lexer_base::token_type; explicit lexer(InputAdapterType&& adapter) - : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} + : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} // delete because of pointer members lexer(const lexer&) = delete; @@ -9282,7 +9285,7 @@ scan_number_done: token_type scan_literal(const char_type* literal_text, const std::size_t length, token_type return_type) { - assert(current == literal_text[0]); + assert(std::char_traits::to_char_type(current) == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) @@ -9587,7 +9590,7 @@ scan_number_done: number_float_t value_float = 0; /// the decimal point - const char_type decimal_point_char = '.'; + const char_int_type decimal_point_char = '.'; }; } // namespace detail } // namespace nlohmann From 262d9cc67d5cd01955dc36ba845dc28a5122096b Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 9 Jun 2020 16:57:06 +0200 Subject: [PATCH 40/73] :rotating_light: fix a maybe-uninitialized warning --- test/src/unit-to_chars.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/src/unit-to_chars.cpp b/test/src/unit-to_chars.cpp index 4bceb792..fd668ef4 100644 --- a/test/src/unit-to_chars.cpp +++ b/test/src/unit-to_chars.cpp @@ -359,9 +359,9 @@ TEST_CASE("formatting") { auto check_float = [](float number, const std::string & expected) { - char buf[33]; - char* end = nlohmann::detail::to_chars(buf, buf + 32, number); - std::string actual(buf, end); + std::array buf{}; + char* end = nlohmann::detail::to_chars(buf.data(), buf.data() + 32, number); + std::string actual(buf.data(), end); CHECK(actual == expected); }; @@ -419,9 +419,9 @@ TEST_CASE("formatting") { auto check_double = [](double number, const std::string & expected) { - char buf[33]; - char* end = nlohmann::detail::to_chars(buf, buf + 32, number); - std::string actual(buf, end); + std::array buf{}; + char* end = nlohmann::detail::to_chars(buf.data(), buf.data() + 32, number); + std::string actual(buf.data(), end); CHECK(actual == expected); }; From 27f5a6e82731b5538f1063bb8e955458ea7746e7 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 9 Jun 2020 16:59:03 +0200 Subject: [PATCH 41/73] :see_no_evil: ignore __pycache__ directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2c6c1e15..bec7f598 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ doc/mkdocs/venv/ doc/mkdocs/docs/images doc/mkdocs/docs/examples doc/mkdocs/site +doc/mkdocs/docs/__pycache__/ From 71830be06d80b08a0a1eda8a34c063246c923792 Mon Sep 17 00:00:00 2001 From: chenguoping Date: Wed, 10 Jun 2020 19:27:28 +0800 Subject: [PATCH 42/73] fix issue#1275 --- include/nlohmann/json.hpp | 25 +++++++++++++++++++++++++ single_include/nlohmann/json.hpp | 25 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index d1dc4119..0deb0583 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -3788,6 +3788,31 @@ class basic_json JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); } + /*! + @brief overload for a default value of type rvalue + @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const + */ + template>::value + and not std::is_same::value, int>::type = 0> + detail::uncvref_t value(const typename object_t::key_type& key, ValueType && default_value) && + { + // only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if key is found, return value and given default value otherwise + const auto it = find(key); + if (it != end()) + { + return std::move(it->template get_ref()); + } + + return std::forward(default_value); + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); + } + /*! @brief overload for a default value of type const char* @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index dd9b21c4..9fd621c7 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -19566,6 +19566,31 @@ class basic_json JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); } + /*! + @brief overload for a default value of type rvalue + @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const + */ + template>::value + and not std::is_same::value, int>::type = 0> + detail::uncvref_t value(const typename object_t::key_type& key, ValueType && default_value) && + { + // only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if key is found, return value and given default value otherwise + const auto it = find(key); + if (it != end()) + { + return std::move(it->template get_ref()); + } + + return std::forward(default_value); + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()))); + } + /*! @brief overload for a default value of type const char* @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const From a3df26b771cbe866e000615300302e2be22eb8a4 Mon Sep 17 00:00:00 2001 From: chenguoping Date: Wed, 10 Jun 2020 19:27:57 +0800 Subject: [PATCH 43/73] add some test cases --- test/src/unit-element_access2.cpp | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/src/unit-element_access2.cpp b/test/src/unit-element_access2.cpp index e881a947..6df0ca59 100644 --- a/test/src/unit-element_access2.cpp +++ b/test/src/unit-element_access2.cpp @@ -148,6 +148,45 @@ TEST_CASE("element access 2") SECTION("access specified element with default value") { + SECTION("move semantics") + { + SECTION("json is rvalue") + { + json j = {{"x", "123"}}; + std::string defval = "default"; + auto val = std::move(j).value("x", defval); + + CHECK(j["x"] == ""); + CHECK(defval == "default"); + CHECK(val == "123"); + } + + SECTION("default is rvalue") + { + json j = {{"x", "123"}}; + std::string defval = "default"; + auto val = std::move(j).value("y", std::move(defval)); + + CHECK(j["x"] == "123"); + CHECK(defval == ""); + CHECK(val == "default"); + } + + SECTION("access on non-object value") + { + json j_nonobject(json::value_t::array); + const json j_nonobject_const(j_nonobject); + std::string defval = "default"; + + CHECK_THROWS_AS(std::move(j_nonobject).value("foo", defval), json::type_error&); + CHECK_THROWS_AS(std::move(j_nonobject_const).value("foo", defval), json::type_error&); + CHECK_THROWS_WITH(std::move(j_nonobject).value("foo", defval), + "[json.exception.type_error.306] cannot use value() with array"); + CHECK_THROWS_WITH(std::move(j_nonobject_const).value("foo", defval), + "[json.exception.type_error.306] cannot use value() with array"); + } + } + SECTION("given a key") { SECTION("access existing value") From c3c5c03ea3251f6efd895d24d29bb50c37ee5b52 Mon Sep 17 00:00:00 2001 From: Tanuj Garg Date: Wed, 10 Jun 2020 20:50:25 +0530 Subject: [PATCH 44/73] added fuzzing with different values to default argument in to_ubjson method --- test/src/fuzzer-parse_ubjson.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/test/src/fuzzer-parse_ubjson.cpp b/test/src/fuzzer-parse_ubjson.cpp index 7f48889d..6747b633 100644 --- a/test/src/fuzzer-parse_ubjson.cpp +++ b/test/src/fuzzer-parse_ubjson.cpp @@ -11,6 +11,12 @@ array data, it performs the following steps: - vec = to_ubjson(j1) - j2 = from_ubjson(vec) - assert(j1 == j2) +- vec2 = to_ubjson(j1, use_size = true, use_type = false) +- j3 = from_ubjson(vec2) +- assert(j1 == j3) +- vec3 = to_ubjson(j1, use_size = true, use_type = true) +- j4 = from_ubjson(vec3) +- assert(j1 == j4) The provided function `LLVMFuzzerTestOneInput` can be used in different fuzzer drivers. @@ -35,14 +41,24 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) try { - // step 2: round trip - std::vector vec2 = json::to_ubjson(j1); + // step 2.1: round trip without adding size annotations to container types + std::vector vec2 = json::to_ubjson(j1, false, false); + + // step 2.2: round trip with adding size annotations but without adding type annonations to container types + std::vector vec3 = json::to_ubjson(j1, true, false); + + // step 2.3: round trip with adding size as well as type annotations to container types + std::vector vec4 = json::to_ubjson(j1, true, true); // parse serialization json j2 = json::from_ubjson(vec2); + json j3 = json::from_ubjson(vec3); + json j4 = json::from_ubjson(vec4); // serializations must match - assert(json::to_ubjson(j2) == vec2); + assert(json::to_ubjson(j2, false, false) == vec2); + assert(json::to_ubjson(j3, true, false) == vec3); + assert(json::to_ubjson(j4, true, true) == vec4); } catch (const json::parse_error&) { From 1ecb7884d1957a2041c79f0a3b7a58e58425c02f Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 14 Jun 2020 15:22:08 +0200 Subject: [PATCH 45/73] :busts_in_silhouette: update contributor list --- README.md | 1 + doc/avatars.png | Bin 1158716 -> 1151535 bytes 2 files changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a9b1d14..d7492da3 100644 --- a/README.md +++ b/README.md @@ -1451,6 +1451,7 @@ I deeply appreciate the help of the following people. - [Quentin Barbarat](https://github.com/quentin-dev) fixed an example in the documentation. - [XyFreak](https://github.com/XyFreak) fixed a compiler warning. - [TotalCaesar659](https://github.com/TotalCaesar659) fixed links in the README. +- [Tanuj Garg](https://github.com/tanuj208) improved the fuzzer coverage for UBSAN input. Thanks a lot for helping out! Please [let me know](mailto:mail@nlohmann.me) if I forgot someone. diff --git a/doc/avatars.png b/doc/avatars.png index 68588c944abaa1a375c98ce534ad68ce6f23b596..d21ddc547cb8cb7aac637ea7a92168ffca76e3d0 100644 GIT binary patch delta 876403 zcmV)aK&rpI+(xgYMu3C?gaU*Ev;+&WEUOO$m)ZNc&t3a$dQ-lNf-0a2C@72& zLP(-o2nm6ZLS7<5iqJ$ykNHF0Ju%Z0F-F~kOt+er=$7ejO{0;JXbl?SjW7a1+007! zGV{6nuKV0^d+)W@{Bgef@@3|GnU$4UKr&i&BkJXM?>XN&`>eCfZ>{y)<;cU&e?PUn zFe9*zsA%f8BzW>D5c~&*vfpkQ6**O9)Aq-!HfRiO*VeVEm1S8}B@yXB(xcF}O}kn{ z6eQrh$jeF*n!|(c@QSquVRhW}5)_!S6iqZlAOluVpW&ECIao+h5|J5;Rh+NDt~YVy zIHZuk`7D3_Rz0g60a4pd$JyyJe_YtgR(<$|XW`r!wbkRcb>!~9IR3h?oZWY2ecJp7 zf~ntjF^pT~wJf*C%xgM{7nMfkuYTi^KQJ3{%ok@CK22(Pk0cXHjlA^8H2`jVgjCH|f_c>XVp z;O8wre-vfUN-%HxX5FSJdF~k<5~5n)Md*U50)iVk@;P*Ecl2a??YVw&RQG+?QHYcl z!Bu%(He?pWLNwo{`%h&2#Ejre%oO{*6VcqHTH@jPlkZ0^NpJn*a zmbFrK5knFQ(a2w0CYE-8Z}ipge~6Tuwht?N`o>~j$5$#)iWYifXDaZ91Q9}S@%50{ zFZuaRgC(}R^Y^^g`2mBaXs>fwZ~6J(eQ7%&zjz?mZ>|4}zx8A5f78|P|JDzD=kNWx z)q0%_n81*cokN-*KZo-d!|6d-EmI%+;9JW=G!g3hM4o#r7sqoYXO>db(e_lM#J(Pl zvm{usJ#*MSJ*UhgsP&2lwmmNDHofD%;>#YM-CQ)EyBR+4aPf(+*giVdE~JyX|KxM} z%shFD)7-!F-0tylf43k@B0u}N7sT>wCokXf(iC>~-Te<|c|mV@!UiD)J9ojq#=?Hd z&kwfaNB8GDIk_+50Y^*cvdL@w&6nc*JDHYn^1gSvrnpZXv` zi8vTA0}+yQm$tHXOHCIb2`9RIiL-2+W$ibMwon zpy|8b;*$rb=O>fi6zB8#o%cfo_(qWUm#-0Q>bLinFZuZaaoA+^i~WYzrfzx5&;Nh@ z-uG6S%QG$*e{&Cgk}mPh)6R`|KJf>?ew*6U7oUl@uFn^p>}<_gmnSVb7YtGaQwWMp zm$FHQ#D_=q<%f3LdAmMdg9nZbg&)nPQm;b{$b7TrpS~I{PDf(mOQ^eea?(jyy!Vku z1T-&bwK}aNeD!0OZ_S%uzj9QSqf%X7(S@zDiQ&b=fBHABA0_|~DJHw`;%HL6Dvj5H z6z@wWU-I+An`yd!{R7|f^DAWQ-r6K;g2^fOT?c@)8|E+m#E&)O)V3;sC$W-)ka9)v zeX9el?~Qp+V7nvFo&hLRe{f@2qE&gONYTI`K6CYW5!`+WI~7iIJ3sQ|)KXg4mZCA? zx@+q0e|UFy|Ju#d&pmr>yUN>`o%HRCw-%tM7q@1YX?pGXG)5tp44rqhZc^9$ z|7AbW?<_Is6Fh(1hG5%e7-iYHF}!o;&Q}-`{mWsxl(`r#qMOK zmFMT@?P(Lg@$uRF^DK{XXWLyl3JG~OhF`hbf2=~vdA!!TB!`Hzidkj9q!+u?)b-)% z$?o>KGWQEte(Jef=a=E+ch$N*8!nm1hlK`#VWMXi*50qbjpW7`g1v^@)q3tsN{5836+Fe<4?zIm3^UtPvo90by ze?zJY9~FM|H;ztvW5J`kJ-;{g8O0?$yO3UNJ6nInrLAATaqCkzR-Zm7zv8}gr!Dj$ zjYp#{rIW?!WIXoX$Cz#$o-%{aTxt?}U?d|`BTcZZo6M7U2mpr2p86P?M!XmA=#??h ze~{l|`Hru7JQ{Bm`mGNaAJ{J;_9s21e`pGb$eqQ1cTCT(ea_G&y>)O%ibX00N?fsbhR!;Wj;S~j@UaPcElct4KQf{e_5~V z<>|7@ooUl2C`Z$j;&?orj%PITTyaj|8N7px&4DH15V7s74+02?C?Z5ev?1bA9kxy~ zP*t+gr1-U;`?vq~|Kq=e<{+uuI5-f{gIl+Pnuu7Es;ow3wOp@a>Z-~y@z!{Ew*SCK zKK6~@`^UfM-H%=T?Owt+C2xBde-=Uz2?$`OXzG<%#Suy$=Eo;Ng8@p{x3RBEN->`*@8(BiAsWK2r9zNgVF#15!oFQK)1%_=Rf_K|K|Vs zUt#Q;wp%yrzUywC9NVx#lPWVKLY8?jA;!^Y978-kJy!5P|C2v{^M$8=f9Qw)&Tsb; zzA1UzD^T06MUttiYD~cy*XvqSBEMGlUqL_5ApHM5X6O+4la< zYs+xhvPk;I||NI~Q!}-Crlk3+FVxL0W zcX^SENE;#%fm#S*KA$H|e?D^|Xr7fhtHZE7eDPC@o4?)b_h#jdk2b^WAb<$3#W`fJ zH^1=Ohre2)1QoRuQ`f}4&yYgsiO4x;l-N0g1Y`=3h|CPdl0?wNWJF1#t{2VG;enYw z`{e%a`Mt6l?Vr1lS0m8PHh+Wp8C2&sv4)D&_4@Dq?Z5q-zxeYxe3Xkt}!K-XULdLkQhA+CO}T43Z#}0X%m=8 zP>qT~SlJ+hq@pL+e{Wv9b|4~?>GVTi`QeL~FGbM7{M<>%GN_SrE>}Ky{%Wk(0ozr# zEVH7jM)SoyXi_r~smjuv@7q=kw)bXTAKJS2lSxc%+qKao#q^5X8Q6`!Xfc4Kul0Vu z<>&vx703`dY5UB z_Y;NRSBqaDjRqN~k4R zlu#cx^?D8H5EBsrfQXn`0&u1dEHN#b^}qZd|J$QmSAsO9qjRHeS4`*g6EShjF{Z7_ z7#X^@QwZqBf2InWoae4@oyTObuIoWNZ{NE^eB!t}Y?Grmj8-Cm7)&yH|9*LQdYv!L z`QMNQLbG(Z`sE-?ME`0966>bL;}7kA;vR<^qFc02-dz5yr|~@$$nM+zR)q6k_%)@J z2uwvm%?uE)QdLz^RWVgf68k^~$Zm*m z5Rr(DEDcctgC&EF&jKPsP%sVxyHonHAN}d)uUy&P+DggD<%(I`Chv1e)b*_-twyda z%BD^!NS{Y|I(fRiwUC5bl6hw z6<=YduN%G?n3)>h{V%_`A|)arF%c0U5vdLS$q>n2QZQ8&P}L-6G6c4SBq`#Vk|2@c zKtM>yo6*zT76^vS+#oOL)~&;T_0Rs%Y@Ef|EZ3_dE21S+A3Dr@rczI4*<Uut>V<3IrBGoLy%^z6M*0wGXP(Fo=ZMYWTJWKNSPMG*x7vk+Ji6PZbJq%L!r zSw^lVX*4=Qj}X}*BG6{%Yal{^EW^~V#--3M%;%a%zkTlF$?2`E*dEWIoYm(qfA2l? z_>7C$SI`IW=RVV{>vI<`1XxXG)oR|{cySdQ%v=#e+?s6tcCX%>mAAbDF*7q0F#w5z z5I8~v9`?tAGs9~lDp7@!h+1TJh$IRL94Pi}=QxeaG9ps$ye1}Mgh(9#dG7}}h**)G z^XaF4=AVlkr|3hksfWoVQ%$0Ae|vZ9gJ1PXH3KpABRF?o`Of$4r8GHzVcO}I_r6)L zs!{ghQ%gzFxq|p@?*V?-C=el`b4<=ik(tdR0U{WJAZQE$Er_ycG)v5cWR?KH6R|=P zz*RyqFpJE{gpMHd4uP1+4AhV?A%due&^`0?)2#bdIgKt~bxSP6{dMiye?D4J(LC~w?fWhk)kN7-R!mBE-tVR$7cV`~hxIzHn)U=p zC!=k~{?T_{JUV@WeD$vPKKPa|$ZxT{jS{s){f%bV(&8x$@#uf7h>HHEq;llGbNX zR*uQ?YX8Fig_Ks0K72{ETi5xztuH^id;U=^Nyte|a^w2R<@+BhDp#lF$>~uwDyq?h zGFEYUKI-bF&(oui-nU+1Ir^P3?ENO>i%8?mK<{Qw48Y7%l$E`TeFx6+f3*l;8!K^_ zlfPl^1p**MBvJrFe{(4t##x|GsjLt?!bl(tp3#9qiou|(#@U70bhf`c+L@?!$(kgM zrnRMzSv4Auh&aW%Sug7Kd|e+l?X5m6g2t-c_LTkGpZcjw=VwJ(9zSugcc0z=NHrR> z^xAga(b2);Bs}%$Yon=My1ZLeZoOXGTC!>~p3I7D+O*-Ze}{L^-`B5}TD>-Eb~kwq z8~%k@c)R20uJT4T`U_VeG*hPH{g?jQy&xP%#Yz3CU%m35I4oYRABdQwxiI_2uX^bJ zmZZ5CN5&hfV*mgdI#0|@Oh9A_0w_a7NnH$z8k44EDycVVrNgqDZ1H%8qf%Vi^(vuX z#<(Ep>-C9bDM}lIq<*zt#Xc|zS!&nIL?V5Ebn~V!^l*8awN}ll@tE==FivN? z(<@h===;T}8Xa6cxc0m}{lxYA9@u&0(eu+;-mm+k<3oU(W@)^JdfgU9i5R}%^&b`) zK6+_1^(=6g%>vAT3GY=3Lx80Af&KE`JH@@G+LGGOe_yMkyn!u|-;f0|1RCY{-&IWw z)YGUA*J4^2iNPxepb$BxrKj zRX0mXf9a8jAAb7jXC|X!GP(fRh=wSuJm1^jyZFr0&qI>YWRko6C!Tn^U7x793zsVi z)V3?5x-6&9eHM_QD3f=iH*lu_05HpVyKqVGw%Y^(7~GZIXb=M!d&2DQ`yL}fNO#}F z;x*(AyD+tIj|)^WXO<8hBEMS65DC#4s903%fA581zR|4+5YRC@=b4$20t5v_U=T%( ziW;SD!y+%Vj>`!1Ts;IIQ7W!_zTAg_ImE-m5W{h17Y1J&(-D$Iku{SVj z>-EWv`RVH5(*1i~-#G7z0>|TQu|8>C9|ZK?z&xx4GZ#GqV}@Rf|sqNLVDx)^cN9C--}ym znA^pBJK4>LXJPJJ6F-_6F(ZPC^rF$aK)%4zQ63;VpT-j&Z|x^+=5@U{yO{ej2I-+O z>YTA9?L+MArf`tu`ML{97h-KnQg>^Oe-iqxYZGV)UEM4-_O?BlwQWH3oOS5>?Vag- zQ3pqDHy@9uk3M$4q^4~aMky;&l4M3jnTh9vTdS_g9MQo+Q%v%AKK6m{{=}btqxXw< z{Csh8uLHlhbH43ypeQlM)P*QWNhP#Kxu`#lH19*5V$X!g-hpk8CT5OkRu1sGY9^nE?5MwzebW}(vd zVM{DsxV&|Gn%Z!>bAhI#-O0Fk;L>iibbNSYews#Qci)9Qap9Z3_4j?}_x!22Sp0S` z;hU1Ty#l4EU6;CE`w-M3n^-qLe_G${;t5!=6hTal9aXt6^XXQi=-Eq5eOj>tmuH2I zOt(^O)^#642iSt8ZoQ7NPu9oKg_vSYZJpY-tG2jnBOs)hOtTbXh;m}oB!Tr<&F;O89+I3won$V^c z4GBepDoOGLSxPBM$TC-zQ^(E>`>yZ1aCms=ZTiULk3RGK^YdSOf8yQmdqBjJB-Cy) z9j$uz_22vl-}SC9uiLkp<@C2)UU~gCAcb!{n%eXUfgupyEg%~jE(U&tF9I+ez60=; zUH7Z?;c7WwuTQ&hbmQQYhRe~oBtkIHkPC=+IT&<(>pd}7O{kNlGM@mBNF{_NItGHK zZ$qdF1;LtCK=aJ#e_S{|JYAgD5+wA=aXG4d(tb3Wo}AX+oA)-`8f|Uu^t~tmpe^RB zt_$bSUoNV0y>7R6rdMA){Pkb@4Oe*R-A+|9Rv-Q7w}00k`^#N2_bM#oO$NyDdPMK9 zo8{i?0`B$sD-_5WbD~#v8-5{Tpq>iCENP3#uT~KRO4=Ygf6p1%=w3L`YYG~uXm{sF zw{AQWgA+}+j-PJh)yb%`1eEzC$Uvs5!~TH=A*gquEPUUG4tnUolf}L^LSJTz(05JS z^#p{5S6{dmdKr)Nx^CK9P|LOn)16{EE87qVkpK^FEVp-DmU9R_kw?C zc)Fgi>lP?pf4n$eFWP!t?`-WO`O);g@A_kZq0G1Y7}zPi97+^}sQ278_I0slLU43X z@)JZ5eJ!8}0Fv5p0k1q3AgaAO&%aZFHa*LII!0u8gJNKe*{Z)XtKP+!-35sT6d(F{ zd}HwoqIcOU;Pt=4)bnUozWdH)wA3@E`TFK^d9~UCf6){I6J@H}rDfmuL`0bv6%{j$ zL|CZXGt=E zNk;pXfAe&YeP;pOy~%M1p^kdgCc4Mks@Yb~vz%W8t==hJycYgUoYpjer=P@LWLCmNuOVyOLX9s{Oe*^(T;+)9p^~!TeMj!wRp$}%dUi1#f zz8psmkH52c_W9?Yf4XKWqSU(=vZ~5b463kh)+V07pB%5Vydr9<5l^RkT`Na7o1>fS zdMQo6Ja@6UaAD6(#}$F_WW4SC_D4SQF-9PG<^2z(hWGE6AJ{KnV;$7suA3eYb&R7{ ze}3lbI=h<@LWDlqht5~KrR&pOY>XK=!jIoSevNN8fLAErU0j%_@z6Q{8Yg+QjVR8*)FPtyJa+eJs(;<{J9_2fHgX!$EprRtE=4Xf27nMk--SFcLkNh5WM!Ez zS4~V|Hr-*)nz|znhSq=HMl-AI*75U?Jo;c)AKkjS*xsuy-8W&( zyKe2+oAx2}F}c{|;>5Cy%sQk)Nwm9v?!HTxSEt?LgkHRQN zlq6z37coT%eZO8WQWsI3pPqBHGnwrqaHsRne(0+ozj5P6h%FOJYMXYQxvD5j)s~%7 z%oe9ojmT%k$x#QueSNe&Ghe{@fAiZ9KKSJ~ZeG8BbrE`Q*UioA$KUzKzIK#Nnxsgi zXr}s>_j8zSHjBFZuiomfd%I_mK)&hwE+sUxJWG8*A|IlZW!3f3#L660HH3~Bk%*bP zzE?3b%yRBS-8QuZ0Sz%Vgt>FYWVCBSqhdRhJFE6+=Um=(ba?BuZ_?i0f4QdayFL_o z0pmV)rj{MvSY>&MSUN}RzOUC;J-gUl9aodtWarVxc2fZ6{hf37f8?vbu2UWIR5Fk^ z`o90plefJBv9L#E)-J>@5)z3SIoI@k+w_%lpvfZPP9d4~ z2%P5y8x=lRi6UrX%p4^Wxq96q=BmkOl%zKZK#53vZoA_xqY@yVf6i}(us%Ax5p796 zfyNM^s7ABxs&DE%;A}Q}{`3ITEH6Nz0Yr)U>5)pxoVVF*#E$Z@8&z(8(u7XB9xq&Y zWHR0VrC<7$KlBIhPpSxpXMJ#QYkAu%P}{6cHT69TAt<6Z(_Vvfc?zN_fSCu*t0K$t z82c2XW0$0dh)KE-e>+K%w98#yRb?OZkeXG!Owu>qN??VeKBFuf^}PZ$Vks}&*3S6w z)_ir+_#Dg{DnR=j?LM{CMa5`AZLxbBD(_7VDFuoB$Gn-Gim# z?Idq|BkCPGgv>cKLUW+NKn#ouh0mBd#smPN52~7yGP^8yf8KM_F2){!L`;%7m!)Kg z6l0sL?ZetENlFN=Yt+$rfA_)6O^a;G#AV^{yMHe)tZRC*%FN}ZsYMY(bD@Wr1hoY5 zQEa-s^}s{#=wd6lUN^U%e(KXDdsHJd`t99(@2!wmZFK;I$oGJWH#yXo^nwrw5MPbB zA`B${ue>k@e+)61fh7gAt_!2l1QBCQlGIRq=IXi`PsXN7fR3H2v|W=@BO)d!3A`)H zat!EW!ZwAjX^B8mGQ=#)MQJ)cw>7)ic2(P)f?13*-74>YWcR7h9d->D1rxP^A@{}3 z&a|prG~C~Mpe%}FQf0;17v-Wp%*AC{^>2UqXC8U@e?2?1U9mUPI{G_RUZFskv<+zi zBzI4<5gnCp`DDeNlC-|7jv}B~pM3p_&$}joAu~r+5kW)%mc-1?W!hWlQp|jb;6m5s zoNJISoM;MN6IF(RL7PseV%jyUu1yZhQC>bSGDUrs8QWwWiFy6YC}gS~ufz39twx|04^e*NEm$2a`} z5#ZlVgM|pF7S2yUIx6mGcy%qp5J|MZvG^&`9`Tj@KyQf{*yXL?o4M^*&vhVxg5+-7 zOz-^FYBhJxO{dec%tHuJI8a7pW=fJ$h=7olf0@a!nV+eozVG|KHDv%~<~(;IscCvM z^DYm4Y}Or_5g{0xc@qVou4~(79b(Vq0314=RHQovKQz91?a)~BvH+r{56tZI!c0To zb$u<8j!%y3_3>y_CP`Jb|Mb(JoPYFV<9zzstoUyWxzhrnS=^s|^*Q{yyEddEx|o&+ zf6HGG=w9{Pw@fZ=eaobHNbWJ1VWy((ou4F$?5J+mlgY$+N~$6DOc0|b2}MyNswFWX z24`ZbrlKi{cV2bVAiP*CRQ25ceu{Se>W#jMmZT`XE1V=O@{ww4!y=|G&$Fg!V-zCD zTt1s+AR*~iv#$GAvLZuLVu$34qKYxaf0%skvYgv`mHPE+wHS~4dcFSaXMXc*KKu<` zieI{w{H>9@xG=Eht~fFxM_GR<49}gCw2o;l7Vf4%1_Rf@9a7|(^W1f22!`o5Wsefv8x^>E z^#%Jde5n`nw?OU^MBgLAv3m#CZ>4Oa_)SyM>q}XcB55|8iinwd$1y}CpBI@~%JM9R z*mix2y=ZjK$r%QdWm!C9f}T#Nf2#7-Q_rmQe_GU9UyE5E>+DmJpLNSbe}MLFEb@`W zuwI?6>(jnd!b~(8azxF27L$~t5fgZZJoC&sG_b0h!WA)gQ5rKOEK^ElUee6P-h1A^ zar2oj%nweloWJ;RhO=4uIAqLAr@`ZktTROLb2cZ^0rr?%#C9V-ubHX zvRZYqaR6NI0#y&)>e?~5*W>ue9A~P0AAvUQK z37Qv0(|7f{PDu^Gds1frs+M9(qGo0gR85H?rce}FS$XGaYqpgag%S24fSLCFz@;t{ zRYj#m$Pl1wlSFn9LSM%&i+xMlh1x3!a#}49u3Ea79zTEn{AjXMRFjyRhaY+fkxYKK zrSWe+S+{kHf1TE$uE{jWy3u6B&LJCu7!y;|v~AltrhHVXsYqC?=SY_M(v$#AO+8cyc|>;roLZ`f5YWV?Dbx^xMHu_()#*xZ+;*+ z`}}n;KjL!MY=RP?R9ZzQ9 zo0I|of0~(yw%y|R_{Qank2B^EJoxa1bNAZ-cE4Prn%X^|q5=4Ob16A|xNCDf~yhya0*`Yxm> zCXgf%U`zo3%&aJi(P$J}9VjM5w5lp&i;23fGcys%JVj~yzAK9H``+_mL{@zn4rBls z;jbMuFRa47rZNEFkL-nXz{w7DGY@DFu<(^*s@(k^yaomW+_{ z*o&ItuoWMo_Z}THvvaQRLrQUY7uh*e717WqG*q>elFR%+us4vAr<6<}#mMYJ=!>xv zi+P@_Dl;>&8O=|Zdwb_U_+?*i3Im7re=8)ab;*ps$hojLFF`EatxI5-3ybnvb75bQ z+>0LwU+SlSt#?B$+Swo9Ro*D=ORrsseI3QS%x8XQRP5~RHf` zXgb8qMugbbsqYQ2-`TB@Of`xyfCvZ>q!fp0tM@+k5eY=288CSRDT)#pk-6_We=|!d z5n+tV?3p}RL?h(BxAnTo zITwS_CSN4Qv|4ID@|AZ0;ot){5JVIe(U5Psay*)BZRuU+dETz_w$H-ax+TXxch1qy?oL)#>vh|Ay>po% zaK@x8ChVAuS z+pe!%c~;H9@Lp7NZ!dY8FePSxwkt0J zSl{<`Xm`(LqtQs!hMf|;%Za@6e!e*F!?Mh0B7%2|qu*Zgw!eX*EPa+C5fB1{Bs9es zqnU=-M+qVV1Tn_8t0kc(zgR4h)Mb)oNJ!3Qna`T03w`QCzgn-`u2mHTV@B^Y07x;K zS=V(<+oqHlDa$g%e@#=oNP>ad+&RZC#s~oGdX-X4DT)X)F%`~L?A+1u;m`cszdk&? z$;|g^op~F{+uj1jSc^L6d=pZZ<>XW~AxPJ)*?BfL)ppg!J~1*uHlO!ET$JoHL`!Cd znDWxEm!XDKSSrVP>P0zAWJK1ty@5H0CPKtS(6yZzc%LJ=e-I4~GA<;6XNXahsB5}> zl*bPH5Q&f(nIObgS`Di@$d#Y?xr1k~yzs#<`^tB}`+Wp2BSLxe{6P0Q{0ltoo8$+2 z`$^YEB*}A*AuVHRKHp_A!u3oVUO_KdzYc6{z+y@%rM7Q7=Oz;Q=+>g^LNzLwe*sJpn2A#o10b?2H|sG5KNQ9g zV^O9A8e=3v=U7CUxbI??c_I!Wn4*cIs)~R~+av%7mQjGh)4sTXsBS~vVm_JLmvUSr?g%*#kd-cDt72S zn`($X0d-B+_e<}5#E8HtCh4`vN`oT^xAjI z%(=@D^VO5DGLk@jV!y+$l9UM8wfT{0W=d+Z=VG*L3(R_718v%fy&Pvsgf=cRN ze{nl+l7YqEbh-Y`@&mo?WHNSpd)te}DyG==29}&yQ99-fAfL~>rs=Z6nGF-D>~OGF zDgrSiLdnYlIGF%36%!QW)8oGHjf7(isfDssGRF?lqeG{P&NHAnaw%f!dT`(zInG35 z($=$+$8kloT=$pD0?GYFtF*6K?UDY`!F{MN?0+MA}PQ=9K9prgI z==#t{Nkp9IPEt&%C&HLgGL5HQQDx+~@76IWfQ~0c?y2k4S(ZZN+^<%vw(EvNi1L*B zKC+5>KgqJ};P9Yr8$s>bE-#8$e@0V~^tNwl#Vdd1Gd4>yRV_pEoryYhSQJ=zbs#Zx z>(g#|kXFY@>cotNlw@a4}kpShagx6V;)ARyK7Ev2WTvje_8c+_FtKu3bGkJaChp{RbZ}iy|adh1kc39((xVe|J1mj0;c~J8Rk%nh`m) z;oV3C1c+v)Dr%ypuvulm;U(JK+VDD=fr1$V86e*A*v^c{=8)m8lmO4DEQfWnm)=is z0HDT9YGP;rAZB#?6-FAA7);GAEj_T>=W)vW% z7)8J5`@ZkbfBmIDx2PAQo%0%Es}=!+)ASS?Ra=WX8=*-tuy zHYFffF6McWz2iOad-xsi7|$k`A368XyB_i`lOXDXNEj%(hgNb`Q597kp4w*3U-lvo zzKV$*5-=jbW+Pw1I|*VP43$zu10V#@;nmoHv_fF24(Mg?jv3O%5fOqJkO3(whvDY&xY_3aZpJ{M74F-eD@#wo);195v(_ zBxzMTH3d>IJ@ZzoKmeQnK2j}8w`PZuGCf5~KWZh!B>h4a&D+O#V}bie}zGZ-qE z4R6uVq`BFf0s)E4l$c#&8FM$`ijTD?R)?5Bky=0s!Op4BpbYpqN%7Puw($k>xG*D zf5cElQ=gVcX>n6lC#dFKZUt}b3Bqm9fVimv3WK?a}K?CS)Ln2)f7`G^4;a4|9}6}fA-|( zt~5sEU6_qBB4|3fda^n{6IDyG1+3JJ^D=YVgb?P78~^GT zKmW-mzUo`Q{(~R+$U8ppVX_oLgIPsJvI#N`G!1K@YM=sL)6B0gu6?>bzScE$o|R=e zku>(>3ol$R^DXD{ z%sT)wwGhH@{N^*i`fHzi{|Dan9pCY7ZU}dDP+K!Fpv_X6k3n@nLiUBH@O{!vG<_LY?)Gz$aToO(*OLY|I{BX%c^fzOkPw~ z)%%h$Td({1=@P-0f5l`r9{Xa3#GBU&Kt;?fs~nM)K)u2C7)*xgqD7pD&lsAI`_6lW5MPbF69^1B)7Re^!>05rT!%`NL(0C{=+9 zSyhahKK}H-`nNZ)|HpsrzxZ3{_U><1tJ}fQFdQ|mMw7zF>%Y-o`PnKhtfcAIXn(eQ ze}cjgS1X;RID=VH1p@?3C}2RF%npV+_;7m)fPe~WXdxwJ>Qf6oDMWw- zkOl=pQ#4geNUmM?|LmXs*kpXc@pedE*TwN<_fwyG;&1-Vzw`Zn;=3-K+v>Z{Wz4y6 z>b_pCh^ljY_vdcHT&hxpPHphUpsGZ~jzuJ;1VAW&f8-FdEaN=i6%p_J)oVX38j&$c zQc29-Pyy7GOiExY3Qj2y0)i3>q9Q2ZP-r7cD)ai_+QDyJKl%JGfAUwJyYfukG#LYv zHj;`gt1|D2%+mR-QNBIu zd9i=t;-h&nRiq$EU`YEFOwGhGB3Oz6ED;e6TWlL4Qi@4LMbtUpwZg7S$FD$XkpLmf za(U$Z?Y6J1m~>uLySjYiW`Fkf`g)_dZFM%g9h?iC6+RIYld42-n~-d{e^3BW zP(?+~S1tVFFMmd$OcsHoA)7K7n`YH$c5ry~-~I5vKqpm}{qaBYM<0IV5mjm0v`LOI zDntZC8ywgM2c==A(QdDosV3(sgf7pEC)b$&uU6U1M*K|Ml zfBN75U;fTNWOkY7BAaQqs861Bl#3JNX|a6)ak*~lJR6Ot+iF&UnkE?>f5ROa^=3Hj zHu?<6YJg`55MoJOl{hcBa>^zwp?je-He?U;6VqTiYRYW=3?o@8=7hAR5%y`z*_{ANi60<>t*B zXqkjDq@VSD6f)D#}jN~ z0^iijP9|L)i#$gLCJsOh-eSK~ig&wcvIZ~vY@d;ao$Pk!oC@A=>d$O5Z2C(mKiP*z11SME6qP1CoL zIp2nSjH!2!0P`VVrvcwUGDK3i&HROk8<+wO!3fYXn~ov_58C}S8XI_1~k&953TpYPAq2TLbsA6Es;gY^D-$Da$b(h%x{m!TU*;9 z^!aoOj9e6$yh(te)`V76l}MTt`A6RU_^ilIkB*wf{P+CjzqUBKgr27-%oD?$W{G>e|8lq?V{z+snFFMPo}T*aiXLB(NLo z2MHM{iNGCJ$W%AgCNl+42mopj4Wfa74HiqyfDn^Ne_puxe9^W2XuKtAU<3f9U;xg; zYH{*aU-{ub`)B@4-*=!10GJ3~R?hoEWmvS7QdNz%x3^<@sxTXZMG?94ZxE4a^A&Dj z<_1GlaO@8ATUVcd{`$?6<7L|z&~z&po?3JQkX z~H?e^{1bB?}tAU z`!!nX7B7++W`!nCoclcMYwCk!zTnbPR)_>d!mKb`Aa0QJ0fRMyO$_l;u>l>TBh9^I zA|lPmWz1!1J6rj=o$>C}PYaiGmOHCTE}0x7e>-9#P!s?GNum#)pROO7UAcC8?Z&ch zs0r>Qgn5l?1rZ=c17!jgG#ju0KqMtI9iS;2JObJV$2L>5WTv)>bKz|20FXd$zk9eP zLS!@Ox?q6JE=dFg1X7SZbBp=$qmMlFeShMQYl<4hF#!%xl-)KMU%2)#vu;Xl>Gyog z@A>6ldw(*-m}S}U;cfhSC>hw9H*)|43MPoaT^?Sz@${|Z(++(dbln9>>GDI5bj>;{ z_?(WHwFcdqPP(>lLdu*g$7NwcCRvp;fPuKOs4|3dTx{);gdrVOF$6LRh~$b=yH-O@ z2AU#-c2?4RX2s%{ehfeQ_1s%%7h0eAVuq&ZDu3r3VBYo-Tu$DxFU&ckmR+Xo0RR9A z5EO>`Zvq&0hh{?nVg{Y~s8VKt$xt_q@|&{d z5Pw0#S#58F7ufJJZyu@+Is|lja>~RhDI$r9LvTck`N_i%Kkyg-(x01DMccNHGuYJC zZ)TOLZtv~SkB*@0)PFDpag4e5oyurlX;QA!G`=Cg`3 zhxy3RfE}_^V0g){o)J74peO>;S&s)JFhcHJ<$U3}aCT|xFJCO~KR=xmoMCJ^)wS0YL^D8Hl1ymnTW9SDFrh~5+{@KU;2xG{=&K4 z)pC{jT$7o>o1qOB5$`t>l13-*~qqT4fDXbLf~0Z0PeKLp3BMRa4ZV*XK$uJ6A8zRM>kx4iQyMxu<6z6ge{+cI!SsOk{+tk>(0eDz1b?1z5nhhmJ*xs(#o zOTq6f_X#6gj+bbR)~k<7PnsAw@OX-`n;MW8G>W$K$b?&3~8c6vMiUSw>8l z(q=Qs5W@C!)Ye@&-G;1G6-dzp5e!5u^x$$GE)fJAV^C0)1fVD}U{N&BeR_TPyvEv* z17I^Dc4m-5!|d2+K#Y{B8f6n??iWKT5jOnjLqUG?zoA4=%!*{0ce$ggfCtX`htB8c z_NOE7(QsT*Rl2ftS${@lo|QR!PZ>KR-kig1fUt|4%j83hT^|F%y2Gr1`!4O7+QISS z{3QFRpZ>b7p1P$lR2A{8Nrlkt4uw7|z@F)57)oTc*+@B7F;im)&Y30DkNOiYa9AqHns7gYM}r+V1$l<(Q?m~ z&n5-lx1C+y9bed;PKpc}ClfcB6r)K#8Ry&Md~57SWj-p3Ec03BGVi?e&ShEVy?2f| z_god(WK@l-ayl*w=f_of?%Zs9HZsOZ=|B9?1ntzywD(+Ac*+6ZE2B5cdc?3ee zvzhCakJA7MQ6!B=#e3iTjy^2en`#fBpZLUgR%Mw|8t}kP4tTfod~s?tHY70&uYDNjFJ?QV@SEro#D{FKd-D)wk# zLL|TU+dlr;&po}EAFBGVc;EZp{jPVlZ95>DZ(eEcDhk4mL214?{qTprY`!?%-#`EK z(|=E{R_h`khY<3-h%pVlIOr@pjq`&W*SyO)^UN%SdpoliUc7d4yzWDPx?II1P18z> zMefGqQQy~+WN*6FrgXYEDNFBNzN~At)UTVEg2X5x0y7yfA}WG`5d(QZGZ9iVRf~#! zL;z>LU@wakrgF$i&^aVlQp80|3j+u$*3~r`Z{AAu2d6qjKl{_64 zqdcFC^4ZqNWiF|1SNZ!NoXj$Cpp49h&TI&!ZV$l^PVBWAN!38k;NG@fZEu(V+kgM$ zuYCL)zM^XnzvWxL*?B(%D_=UEAtDeBh^iX*_O`zJyT0?Azwu+=_kDkaP{F`4s|eEo zYYG5yO^deg*RfAs*EB67uh!kc@kyS!wh!C0Y3``X+$eWQ6xK^iX>V(+U@U1?O?+1L zeH67tU7xN_>v}C98hh(HK++*WKz{}_8c_VqgZIS58Di731?}l)6#8CvfZswm3hy)Gb?5z zzcs0-*r zlbz{UVl+t%fCPOXJj&kgj(^Ksk@*m9sj2JhZY|r{EQbF0xZj&>C6PWvbYK8%M1<56C>P2C7Of8QP)EW^?aC&&5tK205PojogPM3}pk?W+ zQI@ZHl>5H#lfo=>7q|SXO{oVWWJNVgcsl{!{Qte2*w8IB6mAE2orp{*5JAYvxI;#*2k-KL7?ce?_MUL-%?|awlQ|I1kGFHrFa&hDx12ZJu+S(z; zTi35`@9vzQu0z*6dTIZ`-R&zcT)la`az%H}6szj^_(WoN>HOBkt(~sx>h=0v_g{G6 z!v5BDR*ojQXR@Jz*Z>JwB$_iKBw#dEG)zg83@zhG?0 zI+qcus5vyEv|6r#DD-P*{E2V=+Q0e-zBVr^U9W%Ump=24e(L9LEarXNGQ0hqZSVPH zep)(u*F*O`u(y5w;{AK)FXWzCR1$zG8LDo&n|}og^3G*NeSB+matK5Q(J3T}Y8s=Y z81vA=@U%d4L=ue>&CG};30jnPacjQ5e%Ne}Cb+@xaTs?X-LS4X1STvzS4^I)$Xv!$ z^scXd&wpe8>rel}3B;aUP-uf}ZOyjEWv;TjyFZyu zz4xpML`YE;jL=Mg$+*bMNkY7S{kdnJ{#@NG1-Oe^w-GVD>(aTY=XKwG{^_SLeeeSY zfRac!v|VIFNQ?xgCMp7e`KZ91=?o+hZv58m9m@x3A|uEhG>E+r3a8_Ig02?Bs4GM@zqIy=BCSvm5ikuw|ifD+ys56fhK?I?*K3W@0 z%55)ZgHJqz&^N|zsI4N}FycvwP6X7*XQPxDdDE1CrW0>847x*EQ2~bijcL;%vVp>p z;B4&r_BY|6*Qi6e5t#@aa1s~Wc7Iuh^?p&hEb~5Z)~nfUYdWe<7OOw>p~u%xKa0DM zY;SMJRDb%3&z#%Y|IY9HgSXa;D_5_auKVW?Pe!9Ew5?~#%28F69uUciBLo3}@=hUW_k zsR*%8DTIDHotc?aNJ-nYKBf8bBja(I`;Zc|OMQ6y=;pf~f9GR`tCxOs;Q=hj&zlPm zzRw)4$UO5y4?H?v%ug4m%lWYYOwa8XWtJBO5TF^eGc^dEAsM^A>wgbVZankiGi-Wk zZ|CC9_SKWq=WZ?^+Mj*+;R_+9_djs)7oU9LSD$GBbC-O zo2r?4@1|wp6HLkx*sTq6XnNZLZF~bE69WuMAUF?s?!C{Li2;U3KR`aiL)$dc<5?{Y zU~nKCUvj(hdG?G4Xnzrj5S5wPvG<;sa1-GgJ99joR&P7RO@GO&3+BU=^c@-gFz;$$ zNUm$!%ufN>&X7`g#lai>`@%WQ@l5mh%s$>e@O5%SW*+P{0FZ>3npIrRPnV0wx2ET& zV`EMsD5`VW{&c)O-m%f1Pjx|7Ztv!PwK}{ap$C9sw!1UieSg;j52QYjNXF>A<2(ld zh>1hzR2-5S#Ms}w{@lsQ^{w1Btz7NwIW7MAr*AA4%dMh(-@D%b%^&;tbT<2;pZ?89 zAG-9lU;8yfYZkdINNBo+oG~%e&_Bw)%CZbBKWj@tQ%8m{@GF=R0W)B7sAPx+L|D+! zAVx!&j6}qQ!+#GU(6HSv4gY`*c1&P|Kwu2^QiOEpLmFak0>=!V!I7%!;O-o9h6ynt zDwzUrTm=k3xq;KydDvzM=FD7*kojU0gl*oDjk>5B0GXk4S(atP<-I1rhyZNH04&MC zh{)MX&g*q_$jqE``S6qhT)$Ya`-A56xLz(p*S>pa_J8b+rwGtQ5v*@p0L~!fxduq9 z-~7eHhUmd}QNIj4wze&|wl27b#!o-R$Z54m!`q4gjAye|$Rc&WDk`tS*A7oXXOErR z^7lQkuKUZ~wFlqx6*%4+ZST}6eg7vu{@tJWhPv$vPvjWPCxSNixfvmfDibG7$S%vg zG>ydm4u9|s=*)Dm0oj?S*@!SJJEV;U4V4lcu(Az;beE;ZGm`*Fq$+S`JnsD7%~GD> zkBB&INWY280MLL9NQVLIFEsfcy2*;7YU;?8WqD;o4?m`}i=&iMmKQO^s+=4i-CEc4 z`|rCy#<=0NdCAD#4%m^%fg(94V$sKK}?|(gj4c)7+eN}eWrU(E;L}3wD^To;W z(dnwb*|f7PpH4^>e>eA+_Rf#Cw!I?* z+<&fSfBYjK^yQc#0ihS^`Km zj7tqMs*))yI342gJ2ZUbNA6G{0A?3^t$)`c&&S^9n@*LpLWr4p??WGpygWF#^@Bh7 zga6Jw?*RLZgl#jeG&rM>in^5Fbl%=sJ_J8O0 z&d(f8s;Y2K+Rns406~q}2+8N=Xf&NoclNfcak)5n?)2tUu)Z;~ZZh7PX_%n8u65gc zc3Q{NIiU{Spl8T1ii&d#7Rh-=2E#1R9q0BEqwO#tZZBD31XGhF1Luc`sDg?BDFB|8 zy3TCY*$>|SH@vL)aOc9^S#TH@(SJZyWvF$S3BWLtZ38)ws-5M^!{djSH-)|=G`!Pi zH4^|N;v{B@)9F^%ZMLt|mp1$}Rn4+Y#D4gP|NG~kd;a+7c)45-7UHfTwHbKl7xTqW z{^ZZxxN-20|MCCy*Z=x|`r|+TZ=Cald3_Ok)P2r* z!89tX*<`vso9<1=KmWutj+vXrZ=dtt;jQZkZt}?c92XW7vqQDCUVHYVJa@(*DTN*+ zsYEbA=LymK%vW30WSYgsvnyQTK=&?QcTL)yh=H7Q@S;?s(%{&@-O}J!NI}S z)((?zoAw|4gMauVKk`q@vQmYC4(l}(2mm&2S``tg?6+OW`V>=2D%!2)7iLrPZhLD4 z8cfoy#o=?OtEz1RRxm$yxf}0ZB826$pT~jUCxl6skES!o$59oCWS}yLQOyL**tx89 z3s_CWu{fEx&Jb!%Y(xu6?Qq5e!MQNI3RpZwF#7*tm0Thm57*{8=U@;(Ny@$)S-9+zDq^!8YAMU}mOZonll>mij)1*oV+tOt0i%HUc9+9)=6fJ|zI!II`O_ z(Hs7)m-662lT?(z5FtrQ$xJOo5w$*QNW%bz4xA5n>WaaJy?=$shAA^bhu{!0w45kM zV=%W`cDWx(8eq$ztqKvG0UMwIa#sAxzyI}B-?+StJ^u7h{Q|RpIY>x?Cm`N`SwSV=+8rHs?dP9|j0r(iC8?w! zmKaG@GhbQ~l?X79LcrMzcL#A4LNZODT@N9uDz;tf+J6vJ+l9s;!R<_HK!4ByFaQJc zSv2KtGY<{n&xRc4&Ly?M4-Je)28dlBM5CyfN)W4~i5RGfK?F72gx;oh56bwLaJ)@F zBcK`PMM=EL-Vl+=6J;tU3CeQv#;>Z3!f8)RW!Jqi4pFKV~HQ)_1)!k$;quzT&Bn+;M(<~JN z(F|7gx;;9Wj7E#oxkf!YxUoGR=dNh}yz*s<$$u=inwr?JQ|Khc=!^WpchU1V+iSPb zdsCAXO+=y)u}UIBP%#n3p_}z=DtlAxG&IAcW`<%R#6>469Fxu0eMs80Z6CsI7iMNK zjC{ixa5tDD9BP>ZXOf;h-7{NchGt|2CMg9|LBteN*M~mF5TdHJQR`k(0uvpa2g(^o zqJQep5B+LFdAvg$6CpCA_imW>8s@XknC>_)s?UAy$-n#G{16xydAVNI4?ptIH+|DL z#Tc0RPKE#kBm+W-p?~K)9zVCg*Y~Y+q$-BY-WfUe*(X2qxxf2EfA3%Y>!0Afx(g5B z*%jVaATuKnm&2^eE=uNl)J4}XPfqW7C&)5sjJiV$$)QCForGJr_ zR8N=nx^6=Z>vf${9CS!^Q@_8b z(dsU=Vc1|((Uc8_g+HS}+Q`eS4$|$PVWJfg2UaKm*z7K4hUii>LQm*^=BI!5@YZor zR51twecQMFzS(Tnb=}L;#Fx~_%zsqV$3FHk0*ig?JSUYt3a}HPay*&Lc0Tp#Ck}3% zc%R)F3=MJpZS5hVl#+-z*kgv#XniS*ljzoKfMwUbV{7}|&em>~@65^vAGjZ!pIo?a zH9vjgg=cpS?z{YepH<}JsKo^5YkMCR&C!`pu(DkKX4ddmMsiS+5r-S3ln_PI<4|0wCu+L2B2r>!2(N$W&?Aen~?J!OoD~ z!9?I~{zO1jK(*M*X>H>y?>jj@sdu-wimYF+R$JSShylP7V?Qf6{aH!&SAeYv{J!?e({-;r#`jk9r%ncK9nP`7YlM( zF&cvWtO7y#%cKX0I>NT_Pe2!I3fV@io^wU%{m;}I-Z zaelHMm%eFRW}awr(kC6c8{F(`cXwceOwpNBVM$G4wmD84=5{bFaYw_kSS)DiUMgcXhKGxS^7z zFZ;6hkE&|1TCn3+bj)t}hY`%IEb@A_`1r>^wzs?WgMa(K4iW*G5FL}mII7BngOgwT zcfa=jcRw2X7S9GS0ASz~y4|apWmyQp=|n@4Bpi!zFbc>gho?7Qxc1dw`TqH}=eDMk z>151~ff+FsMSrpP;5%2_=Z=rA=aap?z4PQaNKnj^#2kRgECwPXgCqtDDMmsDa;gzi zG6ajsx>~#T*3D~BWDoA&_sp}`|Jg78(yC9T!}IrFc;Nl_?LGWZR*h5=5JT<@K$T7; zF%t?Rlf^*nEyIC+6vzNT3>^@P8qT+8AODB{(~oRVx0rIr&N*6~o}Ay?`-ZRk zx)|eaohG8$Y!*TYAvos-imEseKEy26)Gb_G2{j27*!%3(wQKoTe|c48Z0gt#z%CMN z1}^rq(HO_?G*d)KB0{CloT)?u=QB!yvcgOx34eDzc@$$3F^$r7rzmi@^;^?m=tKlsO={oE5D`tXM?U%u4${ZK!C)%Bmn zrMO`Ra*h_u`S1Jo-^(uh+-IJ+`r?h{{C^k$w`S8H_=|t>q5JP|`z4+Yx^9AZ9oPoI zR1GnN003_3n*&?l>brxJMVELy+RE~zi2-3c9;qmSZrZEKJ5tPZgD9HRlJpHw*0jsY zJGZw7Niar5N+F=ClN7;-SPhj_VjDwk2&SeQQ;}s^v0N;ZXw$Z(ha$78&2Kb~&6$yPQQ^%~8OeQWSP{tW=!^y~vD*wBrk08RlwqB09o zl6h-4moPqVtIRuI5#ZKzg4oOAq^imyuSgly$a%O;Wsf*eu53uGQwkx3zE4raEK1j` z+LJ|hbXp%Tn?;*WSK(w8m#uW7!GBT^6-{CiHyq)1#!|MS+{6K7RJ{#R!=^?GWSSu% z@n|$fECC&$utP9WL{Z7S@B8N5{_bD>D?jk!i!V-RTSdVJk|bu1MdhquH>lNG;&V^_$}j(F=JRj(hL2skc%f<5bbDq9frtzY2!AM}Xc3T1 zl?bb{bcZ@WiS@Ok>egvm3TNl2ls#U*AJ zx-P{Y0a+3lW9E9;2kZFgF^e4M&J~K(KlRyg`P}VN1`e770IG(lION|dic!dk zqy+O?Up!oune)VqOGs9Yin7W?Qs4DimU-vddFLFQRfP;9$i^Fm7-AnJiHLNeuj_iX z3P-2S!O?2Ij>n7kWZtf7=_81ks3j%c3_dE}-biqOzfCtl^x0M8hJPo|6i^ABAjgE{ zLfhZCdGo#R{Xo~9CTT{MGc5-V&wQ3b52g>@cd_q#z&?SZ!)OAV?zc0A92kW*D}@N8 zW{9j&>wf8+d;GBn-}TOiktpn!A&7-Qcp)0d-QRMZ!_e}1%TOBV} zFJ8ZTe0*|oHkoWqYJcN*z3)Af!bvd_Q#A9wAZA2EA_R2=AP6QYv?1zvItxpcsG>1S z%Ci#sK7~NeIq#+Ki7~{877E7zPC(7<@YeO4hsWc5(ywJc?@D!{?Yk5|+f}8xc$g`qCtlViZX!#uP&6x~}cy z@U*>pbAEIhju-uW5thyWkFGzDvn;#nJJGe)-un!9iW_reMC3eF)|6SJN>WKGNreOw z2qcCU(AXFo8h;x@uv-KpaFwygb-+8k^s#T8fubio+~ToDdxE2 zIcM*^*6KgbjjR&=UQ~UuvT}&HH}1ZBuf5jq_x*7hqOdY6Gt?zdtx&~1YJJ^9Qke81 zK^lA14y=o80tEp<@dWK8f9&gD81($zx86~a#iUWFw|`ngSVSh&7*qh4B+5$k*Y96@ zAFpXuUw5k217OR{RaNN?_RqvlRO<;8K$Qhitu;ZSG7{OU^sQFgk+r>Ycx7XAcXP9q zw^e93@@9Je)|1Dy9H)+|AVAhwgGmaiAOgZbmV|*2RapXy?v4s_TY1(rgx(j?dqYl$ zI7S5aC4Wn-oB;*Y8i6ai(;HX5J-i;qYrB1rOR*YO{rA21mYt9OWxBm?s;ULh2l{U( z4!zizrntR1GC#M|zn68K5`t=;0{wcf^V z*&kHBp&t}n1oe>vYp9P9t$AL8s!>JuXl0;#NM%seYytuX1r-8TWfYBMT$W$CbnWWd zOBA!KuUuFpI+E0#knL$KCb zYkzCq_iHsD!XAZV(m+Q6Wk^k;Q9G@v=bwJ&ufFtU3yjq7XTzQ0V5^vFdYTS9Yt`lj zU7j_l)&iJ}tV2Q&R6~?l@e!55S^(zJ(589X=v=*eVWvB?(4CInlSv4bt1%!EX{;&+ zH6lLv8a61UKQOm2cVrI0_`b(p7+&9c_e$O*G`hY$zP>r=55r&_2Y+Kf zD0vj5VhMs3a}Z#z8_o)Q*LL`S&N#JxWmO~+A%Q5f1wn~Eifhe2_V8Dr0>}ETuRioZ z_uZ0UV6-^ND}cTJUVUTAvn=?4fRQIjCWOc=T6fBcl!XvXt&rSP2N039_Qr7Zbq{iH z_2{08M8J^^QQCR?()o)Y`EMWDxPQK8AOEY*z5L9hLO8o}RHEOw_{y0}SD!j&Zh7B# z^fk3q7o~z|Yu+SHC}2ioFeX(R568nSvDjVQ*uFN{U7wwrb2gPcF>1u12~p8FQd64~ zB8BLUOJ?#Z@?3$3mMyF)DQ)x{o8#f=XyfWLYb&Tv&&@w$({73L%g1k9T7UlFyWYIm z$@#?#^3CVUN1lPgYu21iQms{|I-!Z9s)5(_m{B7Vsd1tjB@z|^3tD>I@-KX5kpC7>kMrgK}dq==FG1`l5>CLdT^RLCVM>2n$3J z7L7`E;aqpibx#qix(BzfFMr%nC;-?RF~JsUO&TP*tV1&YA>?T8$O}1RpA2rCB3!iI8Ox1dZN_cDub8=~; z(K-9v<5juaNKz~QcfR!Gd+$7Krxvx<6(S&mkwp|Ds{jH4SAb-)B(0LcaLdPxfSgM= z2YuG{xv5#3qK{;Kh0a*yx|>FmHE8li2LvMq5G%eK6vL;kUVI_+P9Du?Z=SyJl}nvX zfAQp@!zXVque|cy3x8LC?5BUAy|P$lj+U13J#VL-zW?es$6tB0eD%_#s+bJqCpVm$ zc|^4z1XWa6F^UjbAS{3p0a278=y(*1P9y0w8pAY6O_dny5@!tGC@&;x3|z%9D&w&9 z{lfckC`u^;7e0=>l$As;95qG_u|BFmYeA5ROoSXDwPZ=Z?SGDqC;||fjkT6i8-;v? zQa08$KKVNzmwvgpf6f=7*=SvO`CR(thu`|{w{z-?qNu8>D2jUX2qDB6e)G3Jw6i;E zHX8>I9=zj@J8n90Q<}9dUAlbj+O^GIFH4ezh55Oe>BQ1hr)5w%#xzZfqG+{R^=KkV zl6v*T$fh1ED}Mq2A*yI7L$lE=M%BkZ_E8!6+m4>B#-$ZeE`}TZt#+&Htcx0_8usz? zoB!>r&-|nJbvFh*oHAhD#7Ckm8i6n>s|s3|=j~40Z}$2I5UiQ%OiQe;ZEm#2gJ#l5 ztxHVYyX|&cL|DWaGu3G?EiHfJ(a*NqtruT8|C!Hyd3AL)%k#^Z zFBe6@AXImpIQ+l<-cP^%ZTDBjm=L_L5HU^D5Pw3W(eU06hr?E@Wv!_-3ll(yg0o3# zY1kkB;Ya?ke|2|ZVLl8>2WaaXek08)Uy!O7PK=vxrN8#sC%*T-)2j=%x4UWDidn8T z2NDenGm^%L0$_~GS{>$bS*jP$!B`X749ck59}hh3y3W*8p613_5J?*upbd2ExXWslK z{pfSAuPAEJ6znlj5r74dYI7Q?07pfvixXugRTV}bu?kvLYz?~F=xi0RZU$&nR#pib zR3$=SAH9}Qi-6w8%5xdGs*f<`AQ*(AAb)e6oHwbO>k9hDFkf|2H-n}`X3(p)cY3*L zkhR@>Wsp@I$9EpR<Y+oTVv!7^?-jrOJOAa!%}<=Z{q)YxPQ4HtjYhxU z|B1izlZ7_E^o7rpF-e+Sy0!)id7irrF?#0EY&GBY;5+WQ=bo~xP{A4+jz(FY!+##t znwiryK}2C8iy|xn1SU%o0`uybbD#dyr!e5^(sDT-=PuO{Y>Y}oz>x^5$PpBjn^}5c zYvYPgrn?l8(=?DgUQr9Wf=j4D9H8YvrglgkSQnnpqkSv5TTCLQWX$X2z9}&H9vqO zrcBn5A+!!1ia}&kAOAWTtg?t`WQkD&i;v*FmO*^1SC5uKJxgHqTrU=^nSZo(F~%xP zfHEnl>uxTn0EoJ5Jgzo2hBMRq65AA|&awHMj~u=9>`T{+V(ONoqhh%3w`P-u395qK zsi}kR=pTLf(+mIOp_%1{-mq6PG_z*4-P^r#^=E(bZ=Sm8(4T+i^XD&K@}V*Yw{~`C zrl*e_S-JD{9dEq%P5Ty?s(*1AV+267G$^Zfr*k7C$rxv>tCM8BL?n~v4H8uN;^`2@Qe{eJIQDr~m3FZar~yb8DP7+hm;@ zi=x6&V$cu^l@Kba%Ain=2gC7rR28wR%A$+{s_c}TX_5ep$9;~TTz``0dFHa&?tE%p zEK1Kz0)w6H&Hnb8owcNu&Mu^jjd0VErDq>n`#(SN%JLg-ntfsYf$c&hTodWfrOR(T ze(OD__TO|8nlquS-uMe2u5U>J1?tq88Ym8^D7Cs65Q)el8bV{pk}*azgNeh$U}8*a zC~-&z$cQCK&;U*B7=Hj*gTGl~WZ{UFsAmX1c!r8&#p1oh$X;S#^$fu3C2EZm)rm5? z)@Y;F7VoI42n-^ovn?dt1AsMmoHy|Bt3TGv9>({RxJ#z5w zyY4t}V4t-vRP4)$NY)uLaN*L~*_oL<&p1jQk;5!Wl7|@UJt?vFsmGuG<|B_4+k@OB z(^(tKNM!t8Pjq{G+sY(dNeK)9vMPfTqDA$pzwzmZ|Ib@bGS;921?IiZhCyVjL`miq zH2Q?7(P;Y8JAaotYs;b>S3D@=&Y)W!bkpssdQbm!vbEpbjFOk=@W2j1qF!?r14Z#Aa%OSGH`Z9FdQz~lAMD?sJXx-ew z{lUbk#5TLrSJu{#uO6-{FJx>{t<20;zWmUy{YEy`_^H49KTOZhZ(P4Vx4N&l(|_ja zr}iH_e1FfW)2D7aS&fDUG_j~Yu#W^bbxu_CJpIgP|KiB8L!GI1QI%v7EpZjRuZRqY zq)D2)=BGaSCtv--msjWa%{Mxv6arIf8PSvWd;QJL%@CulIcgYzftADv1r{*`KepC_mK;jeq+G}d% zs$vn;y`0*;s~J=hD}ynHR+cO+uYU8{SGtXm5mtTJ6;~)FPz4zSfi*jjZHh)32sIHl~EX!MMljITLL%;i>QPF?rcf37B z4+Ns>y$6BRB?)1cx365j{PoX%{nD$KPanEDM;A&D){KF@!6H=am#&V+V`EJ8m5m|_ zNF>Y}JvgHX6hpKI>%Qjy_rLz>hko&=l|j*fMIi(c6^X`D@M=l3%#SNEY{h1cOn-xM zC7>}iA(hfJawx}zkG}L`(5lGgo!($Do@v=M%kwlTN29G_8HkEB#fs1Gl-;¬>XM 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

WvT&ZY2OwJ7ovTD+mE5?)wRsQVNpxnhHxhXp$ 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 z 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%0Dvdyk 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

r(FFg;#)}sEFt2eguK+Se&)oh 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

;VBl6eNMFs5;WQ($yl|u+RvxsU-oBxoLl& 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

;10)?@zcSrssX-Y*P4A=Rar&I_vs+ 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

V%OpL9CIT?^G+YnN*wN#-bZvcA_IR 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⋘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%0AM{LP!s?W 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 M07*qoM6N<$f;G_TlmGw# delta 883512 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�W+Sr%X@s!<}c^QG&1)ud>u1id9k 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

On#ZY@5JkTuiOW-^%)=pAHKCy?rHb-L zhKX<>^vF00^k@pg!&Ip_QtmQa#9d#sT|iAa*K3=hIXXsEVbt=>>@;>EBDrx@Sf7lH z_X7!SYCDPzI*|)3<)u6;G3M+Pvv9TerIs%gdA6pGA7{VWL72 zLxxo^a#5W2W4w&VTF>ImmF$lngG{g|3PRS>#fgM{;%&uC$Kd#Vh-0$nzx3AD{8iNy zA~+t&*ftf$qD>~l9fi0mY+cC633hqPd)2Q6`Rgui8uZsY+&C!XYfin^l>Di+yNIr^ zB47&s^ZH@n;>Ci&V{*wtQjoEYzr4HxZ=uX_wfq437o!!}aU><_(6?eGac91JZs-2S z4j7=CV$apC_}gVYI+`^99ECW$0#EtyatU|HE$ZgR^rWGw;sPqOlP;~S+!r768}!UR zqGb%9Y%DIed-dv7XC$GbqN3JE(A-=;cEpIL;Ng%+)O+>^j4{ap`>n+YLwB*MDh}I2 zdI#_Ssu8`GB42Fn|19;UeVpb)9;Y_qUijb7)=nw3#16^B#*^0|zSmkAA@s38NjRBZ zlYlwe#MAobz|{=Gw8}o3+eA5xlABo~G5Dgr&Bj%{V7Zcp6~zG(BGftQ>FGH+&{)R8 zco7Ar@mF6Ez^NjaUq6s}{+QgwX-iOxeRlaM`oqxX;!*Y~2++UNLD;(hYr1K_)%az@ z`q>b49WT0IKV#o{laVUT21buJV7kAkxcH&p+Pf*J^#r}{(NJ3Y)TyPmcHCLy7EHay zeZZ=A=o^*p5QalAQk*huC5sWtFCiln46x5xMKQ`6gO}{eE9iSgAZuK{FtcLo4!yYd zsEsPYw1mVjiB~fyj3_-yIX7`Z`0G)6R6=Z*eH6nJ(IgxsJQ>N~#eN309uIiYh?E%$ zLY(2)uvjmbN5ygSaEY1Cv?s;-+PCv<;D8@T>5&j2?W!ASaDho zxp`R=!(6Z>cP*l6Vd%cbvNcIl@x@i4O@5Vkx{gQ@*s+nz{#C#`s1AdkTOVgU zggPDp-?{mo;k(~*`ojJDe?`xP_2Q~BTwBj_uD5db>R0b`N#98NcNo=z!}O+2-a#Oa z`!3%z^S#*p(zZYZ*}wJW+;#M` z0Ox`kcJ6wfr(M6-xZ@A``=9L2`uth?%7B-Bl(`8KJvn|vRaF(6)ZHI4Y%X#%itN-G z=2f9W)K(#aFDfUxwX%Eac__cvOG=1*@G?zSI%9B>!<{Ry7^e%n(>>2OzE1+v>~A&r z6Qq&iAVP%^FVS-z+9?$lp*|cv#wnj8sIE;l?4pp1d-B_FVPXincPR&-{)F-#9cx>q z_IlYlHpd$9HsPVHjEKmj9|0E^S7p$yQ`=G2KC<7YH2zxjVdOxZncLSp0D->v@^b!} zfvK>tFgoCL545pa0}~nOxNc!uG2i5KdU7)9h-QDojv5;q>+kOeQ~{(gcnRPyEWO+2 ze`<^WwS7v1ej9G@?zU`yDs@DsYxo#`(;`z|U0vPG^h`)u@*I*DP41oZ+swkfPwRW> z^?}tsUV&?h(B8j+2a_pqtWub$$XlCIAn%F|K0#_MJc?J|_gQwjMjo6JFCk^q{Mj=n@#uC~TRe!2&48tgNO;|Cz<3s*`XuI#_B;P<3De^asiyC>jT*H!8aF+iw&NeOG``R<9cRhi_)ia$t-GUqw)zyx}78Sx^ptoO%!j? z*1Z>hFqM#q`-FtkO|{L<&B0ga3kwS@Y8x9H{{H?*M4iaxKP~HFMBcFNd&k#pk3)$P zS=6+$#pFXt`ow*t@C~~}2_MioiZrYyK=JYMT5&#Jse)r;uT3KqminJt*Bku6j$kNz zqLC_Q*gfK&>G_;vhwYs=rH^U{-kRVGvVL}rh)D$3)Um$)CsNX68c}EX%D9JEoddMA zpOBhP(b3aa=y9@XWrr8{|8*Pm*_+!E8w6m{dw(ITe_bFeuz_wK!Z{rY63`|ZP=%*@)D*WI$?gWZNmt0#lMAJBbnKsas=X4U-)IGMI%Q^RyI z@#ab0+1*9=EP;<$US1}IXhe{36dQ7et&5~qcP5=*L{QT6a80d`owA_TNKne{?O@Z?0Im;IpEn`wq60`x1& z0bi*Nj8KJ^u|4a6rE^8hW&UTtZW|CKU4EJ_|>4KFJz`|;yP+2r#ElRCc?hDx?%%k@Bf#bkp(a8 ze)OY^0mt(FwwqvuTXbeR)pB(*TOJ=ErJvxnRQNWPF`&&64d-M+rR-mXC$?5pRC(%FCEjb*w&0D=IM2ksF zx45r%_4f9Ht#&!`@QS#sTHow)h2mzz^_mqgi~(=q@coy-^Rb*(5O|&Y&$r)xKD`eS zLw^e%27&)2SNPYe#nE!mMH3Yn3Ck@l?Vpqu+jK~$mkIPWH(zo%O&hQU!o|;@lvd8R zwm2}_?kaqSsmqhf--dl-QJk74jc_cR33a?*#1 zqq@q5l+wsN)s#h7rx?@=3+rUG1OZRs`QM(x_@_X<@Yk zp0h(I>AiO3$B1q98*E7E?-QsNy153BReC>g6ReP{nW@$jKyok3U4wS)WRB7%D60C} z^h;Z|G+fUipkN)`f?{r0zo!NUQ@5dV2iz-`9k7Q1Gghefu+7;4L~3l$)6z1Gs2b!M zpbn0V=r~z|P%4-fm!%^mD{EFc70-XW#{Z5!edzxy&)Bua%iG)A-u~B|=g@q;`zrY3 z>t|6_TQ&U+U}Y!N>tUF9(d(&Sbfy$6B;9 zE8&9&W`HV^PgswM*A-p-wv)|37(FJ3q=y0~YqEuWo z-#S?B7JWG<2DXa5P!fybix=byZiBBG{si6pJ6Ht}q>kfTGMkpBhK6B(y-{Q~YnZZJ zfv{Da_P7yl>l1NTk!@4XJLPdB*c@KIb$W7^$V5&}fi!hWVW}wFAhrY>5j?2&or5Fg z&k;uW>wfW(bb%>@E|_AfAXb-s0h-4r#dK&Vms?T|Il+NWp!RpX6CSM)4FrHepVp&E zV^_4+&gIe2excm;_5RJmb|j11Z!68QzdrNW;t_QLiczz%_+5(W$x^E0+>Vk!PeRTny)Z`qWp3+#6Q&30`33gf6 z7%KGq`SWLd9JzntGw0qtQt*WPIp>@F3BT|$%yC4`ZYZjYk_8)vN}BU5d7ZH822cK6 zvI6e7(ZO%9LaKmPg*qJE1*%L30@KcO&XZ2!i$h{vr&sI=F(d2|lPV5+Q}QZe9zT? zEF)WD;v2Z)YnwB*KSR_tJ11um0>8BB2Y@L+5p`dN-D!8UjrUs-CBMNfGyP`QhrfRP z0+3yN6a4t$^`EF!F+qY5xQYeV+EOot>i~=oVvqj)-=r-Tztj8o?Rfv+f}} z|7r|Z=1*u8y?>9FX{qlm`Og7DfuzqKK_?$UCmiMR`)3t1^d!M~rncnyV;*kqfq{Xm zUr%JK|K^rUPBz5548NMqQGsD0`u46{M+lt^Ha4-Qj`0NGo(%-{@yLA4Vd`28LZq0& z6C-AlmB#F7t94Ee)Q%h6f%bbBrGwrl{s|I{$0BoxH(se8hEc^ODucMVk?bfY4arEH zV9~A7Yc3;7Xiiu40Zd&(<2D*^Z*7Tt|Ng*VH0>;sp~0mFj$JRd1_1$Ua$P;?n@l-a z$^f=z8EaAuy5t+e(~2CDSS%>%rF`A|{ToN@!!7V&t@{+Q-xczf#0Ehu>EycvLRb)3 z^})MNW*0qAWDd~)H>Us@R9EQyF%Qp-4x|G7r=z1Iv=Mj0Du9UZ;V6LmrxdWttc|H= z8ohSfu6Nq9K_H=c;kyg~M|t{ml@;!0vr+j>>a8RK!T^wk^|JswSv-yBKlY#hMBeQV zl(@fB(A5;~1Ny-4Trb=wo*8iS@L;yz3N#y{ZD&A&>lz*&URzs(*4C`e%*@h@5Pd+m zb8~k;xYgjSNOlMksjNPmnmMMhqv?p83zOtUnrxk2Y=W~fuv?HxGF8Ht&k zCrgF-RPd5nOA_H~8dN@XbWhxsNT=LkUXN{%pPqj-qAfx&FphpumphVgO+0RVleVqU z$@hc2dd|Ir-4U8*bCJZ7r__{`_97Xr z`<|dN6L}I#Rq!*`^YwLT6cNEMXVx0; zUFz+6&UlWz5rob5x031aXL`M2nw=^Gt1O-3JwNjzwW+&xgv)?P8>PT2vI^RdSfT{l zo~Ppdpwx5_aTBS8z6xK>OHcn8nNDYvqkC}Iy+k)Nk5Nz2+px>1TPl4rG*|^OK`;eI#INkrk8w}k0 z{`H#!+3P6&jax2 zgRj5$_ix!3cl76(@M(@yx|m{xjjjoQ!uTPy(emv6MKB|U9DE_Zb( zUp%hx0lDoKe?TX8(B$%~Fz?*po2%2IA!w*==??F|>(jP200_aJYdJwzUj2!Zjf(~u z;w0z>WK>d8QUGH>;x%Pk{D|J$-3_``XK#(#qnw*S5V^?kC&zB5=r4$D-|_#Fb{#pS z4}#AIZe0tQ55UQt$wVY1BtZAn?gL<#+<~bjscUL3KsQ$q(0W0W`-#p6vbS0JHaKb2 zOgA6)aeZ-~R^R|S%02}!1#kUM0C3%C*)j(Fvr}1mfzg8cyVjdL?d%QaVxyk;AWm=) zWI!y&H6Y9$-+E+zV<3N}wt>g2F>L^o1Pa-3gBE>gHvy`E@rjB);b>V3gYHqscXf1x z9rylpcr0J)Q#X$th8Iav7>)C;zM?n|K8hrL;=mvLXE-m4URvD!lQuh!d{HK$wW|+V zccu;&<)cp|_(NZR4jY9%vDKtYODC6$UEgC;jv5W@@-oqKbRc-lYe4R(lRx4^mxo?; zbLNG?oKH=R%B{XQ8n6B!^?^SAEcOBcDemptw{daLduQuhX2IjE0yZaI_p7GyUH3iOX0#UfoqhSy zSu=l;QMpmh-I=>)R_bKRC%bRW^uqx32>^;)KX2O{L@6jLD$2*lCm=wgtWz-Zncu2l zBoP59-4);tw<7oPE(leTG%tNOB^Sk|q%!;0%NTAoPvA;ie0>niCob+cAUuV~xYr7r zi*9X!0stQ$AA{0~ii!#$jdJdQt*2&{q2;aFvlaN>h8>#iC``!qhWK_o`0>760xf5X@o1j zHf zM-g!G%bt(C)fe>xeDsd|A7JfyU!5O6c}q{&Ib3upNqrC2dJymW`0?ZBo2&hs@nV_d z+Z;CIR2j4sic4vAYi`||C$<7<4}h`^(0wX^@`i?Idp^K_Nrlc*y`R>RvJ-TId~OPq z*PA~NZiu?8TB-^CvN1<2Y^MCh!44#cNF(zIV;h^AcJBeKXZ~mjjL;3h-NC!)sq0nQ zYbzpbhjbo*DS`{YUac_xvUlq}Cb85-0jn**!{bo6(r;jRIPt0)+yPb1GXl6AKOY|i zkjgC@@NWs;9xnm8^cF>fnMYr_%bxXWai;VEso%b4V!(Fn2x!i{C@C;KAP9r6gDh$@ zf|3uX1PF#D_NhP8tYu$i_IpM=wm+$nd}t))wf4Zw&CAB3H*e!#UQld5`ijkNKWNPY z$C2-0*<&6X{O?{gUrZqHuV*wk{t2|=e>1M4b_h{=B+3qo#bZys;5}Vcq1NJWp3jI5 z?*vG(pF9R%_xHE997HlQkF)|;NL?Y{PMR==&j+!D`|Yh`-w zD4(31$m|#n;dc&qbpdDwwAWj4JBej$d;9#N?dAfy_yQR}f9~6?E<0U~-|oKxSowTQ zfT)!^9uTvD$W-;5C49}J0Z>4Y(sOPuH|?^#CZlBj<}u)%?9E>Q6L1K8C_5Rx=p5wM z$py4hV3y2!&6id*_PNtec?ARn#C~7t=;(+fqyd`ds8G->=w3gp_`o#q0GNwwY*UqH z5ZH8??p;(*pFRbA9!ONa2eD?Ez1BcYPwiiytT4R*wmG<}Z#KHDxHt+iGdt@vmH|R~ zFj$j4Rx7~vSt{iu9EYN_=1mQ<8U~zrOoA8mqdtEBZm2S_GWP>3U{5DHVtGWjrbg9} zv8SZn7;RVJ9)PSC~ZKSxwSKI^|cYnh1*3{ zziPu9U|6DufNQ9$2OgK2-6D}o08(E%Is%?Gv2zR@(zbu!d9ROTZ#<{G%6*!>b|x1V zUMSseC8%sj3C}@@IJfUao>Zwnh=Z?45VWPbp7XSlkv1&9)c15`W5s9u#aoFxxRRcN@}qsQ?82*2E`5EVo0Z*PoTqo-Y+@F zCtuoHfFcG^xj#@t{!<>Y0||`==sEYy{wX{WGnoofsEZsF=qhvovhbH|Phhlx5$fxE zQ$B6#yBtx+@gCt=BLIZ-)_t)0Z?*BVn!!;c@V#Y~n51MAs4-x`djTZHa?_^CA`5^4 z%VLAJ$2puJA`}vkjZ=U&1f-?2daXZAIMQ~5!KMMa%V!Hk6aq}nEgc+ybG)S$PwHO} zWB8Djh4z>m8#@98OB)^yAknd?0o?`=J}U2axj#P>WaNg8a5abj?Phs$>1Nzq(xC!H zPcLs(<(Hlf0=2fa&ws;LYuR>oB|M>>lHM3NT0%(b)t;eU`Qyjy_k#XAMNX#Y8tU>? zvZow~kF`_z(;o$;x+P%83os}>H>Cf))xmdQYQ~CLsKk;*^|f@BqBP(!F^``I>B+5t zVs>+ER(|-ot%{*U_BJuJW9brKJ2t;C)$nb6zQXQ6me@Hv1icw1lN} zd24g}K&L(@>EPX)feu{Ru#pa44rGM7X=gzGWdpB|a$F16-v+KR-_lWF!-U;JcO$3S zNV^RDQ?b#dLYI^x%34RP&Wg?TDE6ihp@oO=P*h(2{v{D@cN< z*|HA3H?F8(dBbg7_mj2vb~gjkke#C3?Or>HLU3q|0m{v$<^d`%;3zQm0EM!J!$Lq^ zq&h2e_=k)P=J5K8QZ$J9JSlJ>`~X0xmIMk)-Cw?Z2|@{wZJw0qRUexU`pM)h0w@V0 z#-mgd1$rxr-~V>?vnfVkkRuj62GQ`g-Z>Y^7ETZ!FI{b?RnVB(zk$(C*-NWJwVvta zlR6~sGu3xFDp!)R{&a50UWw24bLralIP((UD>1t`Orl46Bq|m^RXc6p*AQ4?bL53P zIv`)F2{GzpJ`RdOJE&kWVH|ynR-%!;tr^LiY+Q|HM>RG!Mn*$L<3X?hx7%X z#h|*9@$AD}%nO9f*(M)XSJ!=~7f0!Uqm)**&b$E(^0?yGSO+_!13mS^xLh9)vZD@) z)-?8-m~|!pV&tNItP9lbl9$h-!rp$)#&wcv57+)dF;4dyg6fI!^6=rF{dXd&|Iw_O&>4?)bo9R%lRK?GT;tt z8X9!4U8zPV)&%UyaTkmUJIp(7@UiD-|Kly$(r;khZNV$k66(ZYtrawbJ8e6 z5R`&R-QdW9L1{A+Eu$`Oj_vNEX8bwVib&gq6o%KoS4tkuR&2la`MPGjl`_=RMR$scUKknR47K*3$sF0F-SZI z^jw8l8enq;lx%i-`Zw)T@ckj15YX#Jh1a8zQ}LWUU2JSDSZcBiMi9S)CPcOhPg4Q# zdQ2$L!{2fOl^6UJi0r?2>oG3^w`A#kK?DD8JH^`P3aDqVT`P(6rm?-P9ya9V9)u-t zIhO$w0cIe;Fp#M?S68C}n=0I>!hJO7dI_<=*g%NlP&T`~45Y%cx{b`mJh>{}+T=_1 zS2h3yfgw&v)-m^5OBoc-??x2>o`Zt5yc`n&fjI-o4k8t93Ue^2?StPF0GDSxJfp+I zf*B*=Qc|=IFxjJic^qcia)~!=zN0oSdfdGhRwnF9Q)HEygPAdu9 z##CBfGiz9H4l^({@fhBv4`rFwRFfm->u1MHob#6Wq8JtX@geopQ;fZJza3}*%} zPXWRQeCw#dpiOD6N`w)+j+Evzgd7)YtjECI<}fTJD9BPMe*L#bL0(=|ItW-(=Sk!~ zIE$*ixhC%F>H>cmR6?LAY9E1TH@zrKCKoc`kphaBySqC$Zr+C8K0fnakAZI>K0clo zpIhb#Iny2fzyrctM+cD0A0%l3z&D)WT-(&4zF2*hDE*Rmi;BfI;NOdOzP2G{AK;3^ z*~DZ0h)zd(6!ueTs*-a0o2ZiSOe|$Qg`=RWTsr3yN^|ii{KP1~T>C&67NRK#)%cN? z6oMAQ7h1)RYY11C#r&c=gb_@oQ8Z24i~58DGYGf#B`<6}QSOCM6FEjFlGg`4VaDq# zfF}0vn)$NiY!)Sh+2tDR*F+fLYG9w?$4OeC3Eg|H2Al_gp3x8+8$bsJeelXkoiE3+ z@lG}XU+1Mi9ST$qW__vqW2yGb%?!u-%`}gPjCp%Y`Y;$U9>IWnbS<2E6M^8?ow)iA z+Az4E_!#*&c=4wM_xAQ21*w2K1s-8=n8@x-+1|L0irGc;ogH=&LV$6lrl-FzZNDl- z;_4r|p!*6^DVKnbQf%uBxMu?%Z@@pCgV(3nSb+J}U%y5IE%2iN3Z%bED6_dWoH+AxT;h}gx9NfWN-WBK8OZ1YZB*HAKw{Dx` z4V+3@u{?uhlx8&UU6N1q?%VE|A{C#}F$;02bsx%otk_RM3n)zdqfpWeg$1gJon27+ z%=b?zI5m=#XjNT1*(?vyZM|H0G5fEYZ%c8Y*c1kPcyMcNK zZY>HAFNa$8o7KhszIo;srd3i4$Wbr_BK1c=u&#jrYkJW(`0*b;d}wKD0T8L$aZxCW zIU=v$Din-4fH$s#fu%S#^U2A{VPRp)Ae5pFM3?KUD`5oE>5An4pFx*H4J*F81TU5j z0m=(-b)9gf(WeIey8gYjiwndHFq)f)OvJ&patRP|z-w*Il)7a86X+`?FQ|0H5hAlj z-dS+t+7w!)e=V*Q6x^y!FCr5ipqvjVUxN4h|$TO)m>2wo2pZr!^Et@YyQ$gS1rb%I4;;ELOO@SwVl z9yITk1M*-QIW&!MU$)(Uy1)3O1B|+0>JgCX2lfW=!#R_ct8{6AUPDFIyqRtfzU{xW zwd9$gc!3NF(11vB!(=)k&t(5`+4@7i}79VE<>lSTLk|+2xCb~75;Ixul zJ8H5KlQ<-)XCButW0~K;@HnVOtSo&B_26MD$@wpCUGCPdS<-zec(k?E)zzb4tMk0o z#(x=KWJ+4kUeG}SZZ~OKCk3Qy?q_QKREp`%WIN4Oj>+_K6h|Fst7NJrtGK)l#2g_1 z+tb;_9|d&^piufuml~ZSl@cUW?0o+~NA|Di(8qMRJ8B2e&?$Gv%10OUjn@!T_m|V) zodXiYOAD+1$g*^6EL48VNI)q8m6a6-p+yHFLKAc@@X1DiRpkRKy4FjBPv-I9*w z`c$P*t4bGygzF{N0n$+}0rLTPu_&>!vdSySqxYGY5=BICH_G8Dn{FFDM@3`(%SrAt z@mNcYDiRV>Hl@mt!zJ#ur3o`F1eE{C-JK+x@!;9XDSWlDw(*_E{oVXvwQ+xyaJ&}B zlf<_L-EY5n+V-PxP`yndp{0B&`@`4#Fgok=&=&iTGt$%PdF$gAik{*FN26rjh7#T0 zxzx6kLaUm~V(6+Ek?mJLvMRnN&<1GnyPb-=9SD5nKn-f31GWtSI%Z#Q4eCmGtc8)U zxc1Q^edYV@|C7R=C{>&HJzO+7#gFul;R9GAM&2BRk^s6NL>zPW&f5Fk`N>&E{QuXj)X=zE~99nXp(X(y^^h6u* zAeQMnp1vu03ml2dZ2{Lv(?2M5tAO`{H8^EGk+&11n!#W;%hj+Eq$2A*5FQ1%kdRh1 zsc8G+;^ODY+t)fTY}L#eY&Zt-J0HHyVqjEcXN(vx5L8B`Ad#DQV4_fzjQ}@h12G&d zx?4|t#D(n(Va@(&d4Q4L1hVAG8*dWV1)^%YO`TYIF;Jxy(-gCqhPj>%>!cJWl_Zp? zCTnXIrFA~H_cku6!wPZSuI%oft1o}Iuu0;0xV@cGb}~FN@|=obR}ain$R%qxW9^q2 z?LNEutD-_eR@dy>?L9@W{}-bI{S#P|>Mp3E#iz#BKs!-zqVqZ4-N;LNtGTUcFnzIM2}x^lp-2X!2f z9R$=ue-|4*X#t4Amk|#1@#{qpu0iq{fK>oQE||e<2c|*Cguyqj?;zuw9^>x-oJ#nf zYylAji2PtMbIRb|3y4~8Y;T9`?7kWBEdI&|g70e&+S%hc`1Yt8?2dfM}McO)Q`posOxx14HfYQTzvB;jsBg#xKDAAn!bA3ThX zjs~~X3kwSi2$;Jsp)iE9lSLs>5NGm7ZbHPdPpP&edby){^#*iq-WTh*+cGrFZQWU4=^w*z9#>M4J=BTX;2WOb! zNo7t2&~OiY_Yf(|070r5Oa`c5v`go;W2_s?tRBmp0EOc0j7I$3uRjBi(o}iH!~}SG zO`^9C4jOm>yd49@7}%Y(DrOyzQv-IwWK3NlSJ%M6Kp>EY#@W@`Jv|-^*mqwSuD7w* z{{l=LN?;=^tmG{a9pDw*g|$!q$m9Z)6E}w7D0HRC5q8ac%LyI^WdDq~0M@^|@!a>e z=|6X;Sz^8RL_Y*)6)d2|)r*I#k44*(bM4_1C`V#&vS7awR+jlXG5Bw*V{Qxj8M%)A z<&{=OX2~<2?jcX&=OG=r*7^MEA3l_J+ASjf)D#|)G)N>j+Ul=~ z>o}eJIC&Lyv>_a=VJbVqM4Nyxu-VdG2q{eheZtz>8nEa{gL0p>P1y;Jh}$3FB*^^y zSr-PYCK2N0tpr}lsAp}^oaAU9HMo{0q$4F$7(ur5aBMDgK2`5yG&st@()|t;R@jhT z-4$Tp0bPOd(q&BI+yG#@&^QO7r=gXOLp^4Ei37;F(#53`1_ux#TdTRYwiXD`fCxPS zXuEzx7ezx^uQqq&OStJ=u-by4$B+5?RWmK;syFrScmp~~ zNs~9#QLdXTCVy+sz;;}_qk_Wdz6w=V^Wat?E?`hty?ZB8x%n5!yf?sPCkgDhW22*h z)NlecFd!tr=#50Q00K#!1$qH2{qs^Je{)3@bXW51wZ7XyjALRnSEnNdI60|U(N z?`lRD;tZz}m)jWO|MlDqcho;u-ZjuoPtS}=ecCc+u(+tBtc99{hdKC#)OPjoO0|tt zXcuKXEp@!9DQiS`98xF{b!W*oGo>E-2hQpA-6l@!Bl`>>Ul{uXE%XW$N}ry`I^vs{ zAk%sa%|gf|MPp^<;p_X8*Pj|JO9@wi9nJVKguDZ?PQgXdCBg<*F2sPMmI;gp=lfA0 z`>a~{=jKM-ysV;P>`Z>a;1Wy-O$PO04@=QNfr}}oFb7QR)vwHB;n=+u(EYiLm$$aQ zp2n+XxD~kDz`Ly1Us5+~b3QJOCWpw#P)-1MF}T4~@@GYYP%7M@^Jd=|6{g`MOE^&#Wb#u-PT%AiJ=*3jI};6s=aS3S74+295b*JWd9aN0 zrrfEr7$j%bkXagl@!oKe(YwbdCqIUtQm-6_1L~~XOG(O9(YXTLoD5!q;^H^&o}B;8 zkn0vy1Ei!12c4Lg!$^7+P*G7on^kFWCMQkS9~T)_Ebg?vLZCpdYEE~fG}Fu&Ez4=*h_)WIrd zGe)eKm3|AcQo*J&7b(T4g{V>TiQ}Y)<}uAXh%g*=l^MP;Jj&uu!VS}6r7qC2@Ea1# z@$+e(6!)K9?mLi53W~P;rUj?U+u95wR)UMECJB*1NsKH?ay}ln9lZi_q?9bp67b?0 z`Vef#;QDVRo>MtWWM8w2tM-u8k;w6|z@B;F&Cm~CBr3C2@&Nc289T&fbT}>6VD|?` z?#D6?t8J}sdZC+YyX~S3Cn_46f+R`zyYK3`a1bY+u!;Wk8l=rF(^SLxQbw>+m?6g0 zAp(4SAix6?)z6tnlY;Qs-E4%O!d%E2Fu~`sCl2UFZex!FaRZnMp5!#N-YO-O>D3eg zffbxa*jM(C4%Cr+R;H$%OtOO;{7gU)0WN^O#RhABx z6aCK2$oL%Zlilw?9h<3FG6197|BPE&W#`8hJ(~7CKplbZ*7NCa*>4)Gg6GX1B3=^d zeo-uWo0kMAxZq&m_yZ-Y-eLY~EB_h*@iySeElf(P)-Kh%tn^|_9FWtrc&(CN6eFKs zT-=uu=onX#1k!R1;r!SjDhK>SLNpmbD{^oGl;5ME)|0YKYjcLs7a#gyOZeXL)s=J*gJS-2^#1O&ihI(;elT4u{&P)Ou!EhR zjxG0(f|55chqWA^e0*dZn!CmDoC@Qm8AUFO@{b9Ej2Q`SH1y{!)l-vML4hqUGIC}7ti>*y1D|LA*E1TTN?=Fgn2~ZC3{q%BVZ!Q^C+Eg{HYs)&N@pXgorR6OC4* zgD+VC0IPF23S}S-d4Te)o_8qJdf5$bLe}R5wh286;)_~z3+FcvxRykH&R(X^NZG?H zi*ruS#FkF^Mc6U~qH}*TIoJ{Rai%bsb5pzij5gnNoAnGBwH=B=6Jwl4`4eTy4UZ6K z6>{?SgzC8euFDGCMq~C5Mh&k!&dA`Ke@ zlD`L1Znv~bNHJdWq>6d&{5&~1>F(|Z{js^l55(ojK@J1h&Zw!W#lV3*KUjq>4%fg* z*!{Nz`sGZQ1Q1KqSoKV(m=;*Qs3AjGp4iYg)=*so1AtB{M^ccUP2f~Q`uKqr5FAXv zV*s`q5SD;i0Ln2fu$zL-3kEzuLz&aA10svwxMGumQGgt_bVghC^1D;9^U(!``IE?W7-uCu$8sMt{wpR zkary{D^kr6r|3xnYh@Zt6D;G6+VFktQH@Gaolz;RJ&U{!zc8;tle*rh3e zz=`GqG%bEtCCI8UeeCV)0}-z#AWXmiK*&*eXMA=ird+)%N~mxyxmGkdJ>BHzMmLPl zFO33nJg5b7%6TlD@kx+_UbWh#l91(PtL1g;X-#&k!%)hTg=&YeoF^0fuOi7_eSFD+ z8iy^%fMv=n@R>#wu`}q|g>!xDTKa&Y$PW$WV*&jc)iBjh0?(c7fU$WH{EyB1I^{IG z>p6C;C5$w2Ji%0U#pYTji-?%<_-aj9MTeFaQC4Vlj91One+bE>VW9JHrE*~xP|L+L zS>nx`LB_@$Ip>BtPm@`ysw{$-?8OFIq&q${7sfIdP8X85o_nHHp23XMr|LfaTf7fY zOK2`>Kg4T41mq0x!fhvHorfz@iQfP zfDGW36hqmfVDQ{uZuvwHfwY>XhsOyZh5%%10Rr$?j#Q4!IZznuV6^n~2Ogqe76W-b zD=XF>^pVlga8upVX>d{QXpWQ=(9XR$(?5UyoSx2_*t24t~;igX1^93;%0-nL?Eq@%S5 z;>ZetzuAxs*F`sA94ovpl^_$=L`qs(Ll|rU=;XixTRQ_nJo>6UtB!}IPl2&K0qUD=_YEBS@njgnV$j_;iq^-^S^j5Xx$9pbR*2s@}6jKgTX0z!J z)0`6IH2=Erh&;ezwYwjax@i5-em3pY02y*7QJg5G_GSaslznix&K5!=CVzw@k0~(wUC#mPaH#!e$aX4ax0Mh@I2MV_tjFkj z=LQFri7>z!J_tN-dGjVU0-R06=BCyzCw`Z|q%rWyNX~*@inR1V=;-LcP;Hyvs8ah@ zuC}>3{p=Y%C8aG0eQH0oEI?!yZ=h?EW=Z%7<%|`3Xn{!qh%>!lQIHlp=}z5M)H5K* z$(Q=v{l@Iog{jhFbl%*6s8f3C@}^G0qXK$Bi}Fc~May^f><98Z=3lg(%(mZ@-jB84<3aahcYmi! zI9vuyi&XxM+rRg_EP2%7d2xhdPyF$J6w}SWzWZ&d+hUHO=K<-np7gr;)Z{WZ+aQ4i zYW}%O`-#f^Y5U#m>=yv0r?&sNiP-P;_bbATYM|{`Ysc5yIl)-|f%$0b#Z0<=$k_WFQF=I+w=?2w3Menaoh|A7wwv)>09*I*jtqYzb0jX~QR?W0azC zIw^X&szXhmDp6%=h^oio>83y0;EMcFoT4fPO)S^=h(k#||a19<5Fqk_&-fMOm zYy`6a(ndEGN_4*D{@M<`kg`;e<`?*r(@ZF(r%*25HrRHdg1B|C@xTa1j8_e97%i{iq+x!#YXe!GJ)~Jo z>{ak9ESk;l)dkSRHAU82ug6o|X50 zyvRWj#wYNBszwsuyL zZQU_qthn?iIFG<6CI$!>P!WL>4q$^+SST6cALj*2t<4)cdkAK{58MdF}^LW{d(Y8f1{Mz3#uF_RTZa;h-1r{4nni|*?HzYIij|HgCMMqIBx!*^vHje*?BtgXj2b{U zYglaUj;;ItJ(FK=cK0+(%-c&ei*z0h1z08B?Q9F_0%2DH$0IN7;bWO1>pm;M{H|9q zd%m}59gXa1Kv8U2UI7eDg^pUfE`y4;y{tWV0}cv9#z?&wl*L9L@b~_%brss#E{1ki zsP8TaA-wPh(Xk?k6l}_xDj}Gw!k7B~tjY0+g9m{;UE)0C{7&$;%Etb6UYCNWO{OOB z$0=aZgH<#p27ypjXh$?3R{wDTgYUn7JO!h7rY0_j+1LB6yQ6-fEX9v(ie|;m;Qpgp zC^T~Yp_KtOx3}LT8}9!MX(!{dfF8ej4|V`SfWN;)Clo)-00nm2FGVu*ZDO|n(ZK2z zd{q=U4FS!Uov-kzsD$u1J$<@WSt~mx>DBW+$6r21g<43}6gZTc)eFYEk=c7-3=ET5 z1B|ImHz*W5TwDdc8pTud)s|7vy702o3pF*6EH4-z1YZ}a(YyVnrdoR0mSxtw!oouJ zVsIq1lnZL@L-<$=vDL|&fUBcWV?aJXo}UGn*pVdI2*{8)e9SIJm!7f9pZz$Fit;%r zdh4IF_|^Q_-Spp|Z#{iB!biI3uS?GL#=qbnv#?+lVB|Ykn8ULmIlMj;3bcf50by}c z`P{u;E&GV(EHXQO8@L)511_Vmd8TW1sHz~iJ4^6UEGC|uGKY-ZT4TcO&T0F_Ne=J? z1O(3RFCX}v`ym6XsyslP*S$_}h<-cyOJi{FC|~L-ALa1b{YE>OE-v8U(*s&V!2NII zn<$Xs%#wj3khmK(0pzYJFv%b#dn9U9QflFO_0Blw2nB_~46cogC4jUTa1kb)T}S4D z#n$xKRrG#G18jz~5*}L`q_03c0qg8$~6;2g8E#Mjwlphl?G!` z^!f$xyr25sg6QcoNF;&Td~&DHss?cW9P#A>C8pS^Oydy-5it0f)O{bl)W5A4>+GXe zH7|*{{sVzruH{UY5cg{7i2kY6PZZ>wn&lH6Y0z_d`wd@p#?&!kCqr9PB{!$KX_&io ze99qXjYT}4#n}%TZhlfl{u!6v;C?hJ^XTUx0;|U;zb>lsi$Bq?0^?5$-McZ`hUNWt z<$=o*@l(?q2~&L(i{RHo#x}qcdN%;pL9qcdJt-yNw4{#WKivR>zsolsTgEHuJV>-6 z2?hr%3HW9`CB|gCYqu`ut#cgfU?m%1+mL-7tWZlysS4!&`B-0B7A(C3b8>VQxv@Vn zN&-t{9@saC^)jycmSasNz3&}3>sl*f92?!;aTvZNNigDo!w1-R4q?+e2zJ}(3f zEd1LmS{IC>H)$zNQEsU_trbc${*C6N~e1!))xQt2V^RD7{ z3mHoCmr%YWIdN!W7{)upiK(nNjv_=b_vpc7kWwCeI#WbWy8n9zf`VZ^g1xZc0qa)YkiPC0R6<{Q#^e22)y&qmd|U-!519^T;1Et5Vk` z?mw3rJqNwHCz%a*dbD-Ag>^UXiBE#e;fTKcc* zmV#@CO(mee9*uRmdN@iUUT{`|-ev<72C4`(zL!o!+-3>gt_7Yl;h$$zpM(nvC{f)# zi9#9d2DjJR%haN5`2-7njd5dXEMNC~#T#2q_EMN>S8;it-CWVWG)6OWGX$IBi!$>F zP2qD@YCO3aw0KMWi1@>-kb~q!xEE>fBr(?4`F&mJkLi%AI#<2^+SVLd6xSQl2VTo_ z4-xL+73KVYa`RXwm7bO%j?$bYV0th&nisLK77$_|7uWbork_?$IPt~E6Hg84 zeX@6J6e`DcSbF%`M2mtkNtaPaUg+VveDPwmd464F9i}-4YAL)<+JcL6t7?&orJ8Ak z2@MgBhY`&2AaVvvnh{l2Ub{O!hS?FH)3Oe#f@Rcxj4V?`4aNS5U$p&N8D|zdK`ydw zkk|Spygqa|HX7eW!EgS@{_=yIz`LKbbpE=HO^z@A9)-v>WXMJ0@ZYM|^qz$9F&$Qy z*7byLPayy*zlv&F@@Rc&(&DP1Ir_wdC1nUz!}Phs)yoO?_ajb1TZ{Fcl@&`;qWr!P zh!Z>{{FE)`w~|1)DhQ%a&jc68xGH%5t~Nl0%?=#d#zKQ;bql&MC&l0?%)rCmR*Sup zVIRu`|MJS(S{K6_OceI4(|{KtM&#P?a*w9CehLH5myN1r+Oya*>V;lbD__fn7J{D7 zh=w#gDv40SVUM8HQZAg+jkPc&dt(3*+V81%QCU5DxuB~i#Anh;Wgpo=!o(|xQczb# z7R-XOs};iJ6-Pb9Y@hG+JaNQN{R?ThY3Z^P>!6)u9qar*|`Obzs zbJ3q)F%R?_L|vO>l=4@;J}??R_Qx7A>x>L7ZB%#|vR}JXT4(3&Ti@obU{&yp+E|wd zAg06S*3fP*S7Tm08oDR?_1!xc)%3HYVOvX2GqI>?+u3tm@f<-9PdzqH zY}vpgi@J%e&)tGg|7mc{&O$kOiSnLxJHB+dnd#YJr>zoOz7yqKso>0R{H|5<_KcmH zeP?`{*^^R1n2hwt#Kv}hudX|4z^0TwCFq68%D#VTbvwgGZA+xLm?h!7j?HsW6RZep z3XlzJZE&g$WiWU3Y!mQF7uml;5LtTDd@ncT66Dl!)qj=yamu1f5GufVEWJ>n#;@|F zR@*{UtEnHZg%zP^na>Vx-A*jh?MN4FS5>sZR(!-8g^f+azR~}Mcbi0|=0vH5)_bvA zM7DQoPAy%hzE{^C{&I+$@^>cBtMAc!mWf(&*%K@&WTjy;e5qpugig*4>F;mD(xS*8 z9K~8@YJ6jngw{e19ze_LEigE3lOr&bEgInK^!%JnGGSl4jKok3TjO5_nUIt;xUqB?Cf zVHUA|n3&B*)L*CesEpZkPEjKf9{rO~`?HKvR16a`eGja%;y> zc^TK(y9sH_VRzi7wlc(n9+^mu%naccOoiRk&Hf83JV;NnCc&nZBx~eB>^is3F1Ubx zjjEDekH$Mk zRVNxp4+X?*AI%qyGwX?&i2nwQ01qF3LE}}GntL=BF}FZ8UpPLuow)qp9$nBb8S-?c9ua}r6aG#H6aeaA+<%Prc*fESdL3U z&cL68#=X(x+Ldp}$9yi#9mAS(Cj`uGfE5eD-O|k&K41 zv6U~ZUbJf6(6aMlB{h~{K$l>Kx0fi0i
Z9y*HwTXC(!sIhcI9D7B)&d3CC=o8u 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

Qfs;V|0tY1yH% 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�PNB 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 z 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

kybOKF-v{>0P!Z#i)LZMP;#ym{+?N3xf? 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