1
0
mirror of https://github.com/nlohmann/json.git synced 2025-07-07 23:41:10 +03:00
Commit Graph

650 Commits

Author SHA1 Message Date
0f6b8aa718 📝 more documentation for the new exceptions 2017-03-08 23:30:38 +01:00
1ab580d6e9 📝 more documentation for the new exceptions 2017-03-08 23:12:13 +01:00
fe71e7df1f 📝 overworked documentation
Replacing references to std exceptions with user-defined exceptions.
Also changed some examples to the new exceptions.
2017-03-08 21:03:19 +01:00
9374eaa013 🔨 added user-defined exception 501 2017-03-08 19:16:53 +01:00
fc9b528ec9 🔨 changed an exception 2017-03-08 18:07:21 +01:00
625cf7e3f7 🔨 added user-defined exception 112 2017-03-07 20:05:34 +01:00
757d2c6c7a 🔨 replaced at() calls in msgpack/cbor 2017-03-06 23:45:08 +01:00
5407333224 🔨 added user-defined exception 111 2017-03-06 22:37:46 +01:00
21ec0e7806 🔨 added user-defined exception 110 2017-03-06 21:00:13 +01:00
a186106bde 🔨 user-defined exception 302
Also moved all exception classes into the detail namespace and
introduced them via “using” into basic_json.
2017-03-06 19:34:44 +01:00
38c2e20ce8 added user-defined exceptions 404-405 2017-03-05 23:25:22 +01:00
30331fa21f 🔨 added user-defined exception 403 2017-03-05 23:16:17 +01:00
60da36aee2 🔨 added user-defined exceptions 401-402 2017-03-05 22:56:39 +01:00
491c9780a7 🔨 added user-defined exception 311 2017-03-05 22:39:21 +01:00
6751d650be 🔨 added user-defined exception 311 2017-03-05 22:31:08 +01:00
9e560ca40c 🔨 added user-defined exceptions 313-315 2017-03-05 19:58:26 +01:00
144cf6a4c7 🔨 added user-defined exceptions 310 2017-03-05 19:48:11 +01:00
5cca44c161 🔨 added user-defined exceptions 309 2017-03-05 19:42:05 +01:00
70b2c3f45e 🔨 added user-defined exceptions 308 2017-03-05 19:35:24 +01:00
2a9393af00 🔨 added user-defined exceptions 307 2017-03-05 19:26:44 +01:00
bb740c43fb 🔨 added user-defined exceptions 306 2017-03-05 19:15:56 +01:00
aa842b4a27 🔨 added user-defined exceptions 305 2017-03-05 19:08:12 +01:00
f473f74fb0 🔨 added user-defined exceptions 303-304 2017-03-05 18:56:35 +01:00
068c7acda9 🔨 added user-defined exceptions 301 2017-03-05 18:40:09 +01:00
0c40c8e3be 🔨 added user-defined exceptions 2xx 2017-03-03 14:34:57 +01:00
a4274d7766 🔨 added user-defined exceptions 205-206 2017-03-03 14:00:42 +01:00
875b2da95d 🔨 added user-defined exceptions 203-204 2017-03-03 13:38:14 +01:00
9381f6c4da 🔨 added user-defined exceptions 201-202
Started implementing exceptions for invalid iterators.
2017-03-03 13:19:45 +01:00
776758d7a2 🔨 added user-defined exception 109
This exception occurs when a JSON pointer contains an array index that
can not be converted into a number.
2017-03-03 12:54:37 +01:00
b86d2148ef 🔨 added user-defined exceptions 106-108
These exceptions occur when JSON pointers are malformed.
2017-03-03 11:56:58 +01:00
06815d274e 🔨 added user-defined exceptions 104 and 105
These exceptions are thrown in case of parse errors in JSON patch
documents.
2017-03-02 17:55:13 +01:00
c085e3bac2 🔨 started with user-defined exceptions #301 #244
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).
2017-03-01 21:28:44 +01:00
7b8fd864e2 🔥 removed deprecated constructor #480
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.
2017-03-01 17:49:03 +01:00
d69242c6ba 💄 cleanup
- 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.
2017-02-28 19:20:50 +01:00
059f21aada 💄 fixed a warning
snprintf returns an int, but we later assign it a difference_type which
is usually a long.
2017-02-28 17:24:03 +01:00
224f99070b micro-optimization of dump()
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.
2017-02-28 16:28:22 +01:00
fc48b8ac2b 🐛 fixed a logical error
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.
2017-02-28 11:45:38 +01:00
af070744ae 🔨 integrating numtostr into serializer class
By merging numtostr into serializer, we can write directly to the
output stream. As a consequence, all stream calls are now unformatted.
2017-02-27 22:10:57 +01:00
54ef5f7b47 🔨 moved serialization functions to serializer class
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.
2017-02-27 21:22:39 +01:00
9c4919ff34 " micro-optimizations for dump()"
This reverts commit 909b439b03.
For some strange reason, the test suite crashes when compiled
with GCC.
2017-02-27 16:19:07 +01:00
909b439b03 micro-optimizations for dump()
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.
2017-02-27 14:58:10 +01:00
0f04e42dd5 micro-optimizations for dump()
All ‘<<‘ calls have been replaced by write()/put() calls. The
indentation strings needs not to be resized. Cachegrind measures 1%
performance improvement.
2017-02-27 01:22:24 +01:00
b1441f3485 micro-optimizations for dump()
Indentation string is recycled to avoid allocations. Comma-separation
in objects does not need an if any more. Cachegrind measures 1%
performance improvement.
2017-02-26 20:58:00 +01:00
bd0326cbc1 micro-optimizations for dump()
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.
2017-02-26 16:55:54 +01:00
ae155c4734 💄 cleanup 2017-02-26 14:45:41 +01:00
f1cd15ce7e avoid copying a string 2017-02-26 11:22:18 +01:00
27c65b860b 🔖 version 2.1.1 2017-02-25 16:34:38 +01:00
8cec55a271 🚧 fixed more warnings 2017-02-22 18:14:29 +01:00
345a106d73 💄 cleanup 2017-02-22 16:56:56 +01:00
967f9144d4 🚧 overworked fix for #465 2017-02-21 19:11:34 +01:00