- 03 Mar, 2017 4 commits
-
-
Niels Lohmann authored
-
Niels Lohmann authored
This exception occurs when a JSON pointer contains an array index that can not be converted into a number.
-
Niels Lohmann authored
These exceptions occur when JSON pointers are malformed.
-
Niels Lohmann authored
-
- 02 Mar, 2017 2 commits
-
-
Niels Lohmann authored
-
Niels Lohmann authored
These exceptions are thrown in case of parse errors in JSON patch documents.
-
- 01 Mar, 2017 4 commits
-
-
Niels Lohmann authored
Added class hierarchy for user-defined exceptions (#244). Integrated parse exceptions 101-103. Parse exceptions include the byte count of the last read character to locate the position of the error (#301).
-
Niels Lohmann authored
The constructor basic_json(std::istream&, const parser_callback_t) has been deprecated since version 2.0.0. This commit removes it together with its code example, deprecation macro, and test cases. The code now also compiles with -W-deprecated-declarations.
-
Niels Lohmann authored
I created a wiki page https://github.com/nlohmann/json/wiki/Road-toward-3.0.0 to describe the transition toward version 3.0.0. On this page, all API-breaking changes shall be documented.
-
Niels Lohmann authored
The library does not preserve the insertion order of object keys. There are frequent requests to change the library in this aspect. The README and the contribution guidelines now contain links to containers that can be used to replace std::map to preserve the insertion order.
-
- 28 Feb, 2017 5 commits
-
-
Niels Lohmann authored
Moved all dump()-related functions into a class "serializer". This fix includes a lot of performance improvements yielding a 7% speedup for serialization. Details on the individual steps can be found in the commit messages. Individual benchmark numbers: before: dump jeopardy.json 5 374555228 ns/op dump jeopardy.json with indent 5 430953700 ns/op dump numbers/floats.json 5 622938509 ns/op dump numbers/signed_ints.json 20 82177979 ns/op after: dump jeopardy.json 5 335449757 ns/op -11% dump jeopardy.json with indent 5 375467773 ns/op -13% dump numbers/floats.json 5 584611852 ns/op -7% dump numbers/signed_ints.json 20 68289574 ns/op -17%
-
Niels Lohmann authored
- Added comments for the serializer class. - Added test case for resizing of the indentation string. - Using std::none_of to check if “.0” needs to be added to floating-point number.
-
Niels Lohmann authored
snprintf returns an int, but we later assign it a difference_type which is usually a long.
-
Niels Lohmann authored
A lot of small changes to avoid memory allocations: - The locale is only queried once rather than with every number serialization. - The indentation string is recycled between different calls. - The string escape function avoids a copy if no escaping is necessary. - The string escape and the space function use a complete switch case instead of cascaded ifs. Cachegrind measures some 15% performance improvement.
-
Niels Lohmann authored
Treated the size of the range as the number of thousand separators. This logical error yielded a negative value for written_bytes and eventually an infinite loop, as written_bytes was converted to an unsigned value.
-
- 27 Feb, 2017 5 commits
-
-
Niels Lohmann authored
By merging numtostr into serializer, we can write directly to the output stream. As a consequence, all stream calls are now unformatted.
-
Niels Lohmann authored
The class is currently just a wrapper for an std::ostream and collects all functions related to serialization. The next step should be recycling of variables to avoid repetitive initialization for each recursive dump call.
-
Niels Lohmann authored
This reverts commit 909b439b. For some strange reason, the test suite crashes when compiled with GCC.
-
Niels Lohmann authored
numtostr now directly writes to a stream. Return value of snprintf is reused to avoid finding end of string. Cachegrind suggests a 1% performance increase.
-
Niels Lohmann authored
All ‘<<‘ calls have been replaced by write()/put() calls. The indentation strings needs not to be resized. Cachegrind measures 1% performance improvement.
-
- 26 Feb, 2017 6 commits
-
-
Niels Lohmann authored
Indentation string is recycled to avoid allocations. Comma-separation in objects does not need an if any more. Cachegrind measures 1% performance improvement.
-
Niels Lohmann authored
Added separate code paths for normal output and pritty-printed output. This allowed to remove most of the ifs along the way. Benchmarks and cachegrind suggest a 10% performance improvement.
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-
- 25 Feb, 2017 3 commits
-
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-
- 22 Feb, 2017 5 commits
-
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
🔀 merge branch 'cotire' of https://github.com/tusharpm/json into tusharpm-cotire -
Niels Lohmann authored
-
Niels Lohmann authored
-
- 21 Feb, 2017 1 commit
-
-
Niels Lohmann authored
-
- 20 Feb, 2017 5 commits
-
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-
Niels Lohmann authored
-