2
0
mirror of https://github.com/boostorg/json.git synced 2026-02-03 09:12:17 +00:00
Commit Graph

691 Commits

Author SHA1 Message Date
Dmitry Arkhipov
8e6283af2f internal docs for parse_into machinery 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
71a6521203 extend parse_into API, document it 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
7133184252 parse_into supports optionals 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
ef6e310141 parse_into supports described enums 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
56fcb09f2d reusing existing conversion components 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
62af0a0c16 parse_into header cleanup 2023-10-09 16:59:39 +03:00
Peter Dimov
4c628ae36a Add null_handler 2023-10-09 16:59:39 +03:00
Peter Dimov
7761788417 Add parse_into 2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
5328819e63 make msvc-14.0 compile with exceptions disabled 2023-10-06 22:56:17 +03:00
Dmitry Arkhipov
a07e38be41 is_variant_like 2023-09-09 13:09:07 +03:00
Dmitry Arkhipov
25e740d7ba fix inconsistent choice of init list constructor
On some compilers value{x} invokes initializer_list constructor, on
others it is equivalent to value(x). This is very problematic, but this
isn't something we can fix. On the other hand, we CAN make init list
construction to be equivalent to value(x), if the size of init list is
one. This commit does exactly that.
2023-08-25 20:27:46 +03:00
Dmitry Arkhipov
2acdb29a32 fix reading beyond input buffer
This fixes a rare case when the parser first suspends inside a comment,
then is given input exactly up to the newline character. Before the fix
it proceeded to read past the end of the buffer or hit an assert.
2023-08-25 19:50:20 +03:00
Dmitry Arkhipov
f48b6dd4b0 relax iterator requirements 2023-08-23 19:48:56 +03:00
Dmitry Arkhipov
ca2a1b5f80 is_optional_like 2023-08-23 19:46:33 +03:00
Matt Borland
0c1b4692f9 Replace _M_ARM64 with _M_ARM for 32 bit path 2023-08-16 08:06:45 -04:00
Matt Borland
c4ce8509d0 Fix use of intrinsics on windows ARM platforms 2023-08-11 09:21:10 -04:00
Dmitry Arkhipov
ed9e2f536a require ARM64 for __umulh 2023-07-24 14:39:22 +03:00
Dmitry Arkhipov
bee57b4cb7 remove unnecessary code in value_to for variant 2023-07-03 17:59:17 +03:00
Dmitry Arkhipov
5bc9ebb8d2 allow exception propagation in optional and variant conversion 2023-07-03 17:59:17 +03:00
Dmitry Arkhipov
c3d6757ab9 allow exception propagation from nested conversions
Specifically, when user invokes throwing value_to, when it goes to
non-throwing conversion, then back to throwing conversion, exceptions
will be able to propogate still.
2023-07-03 17:59:14 +03:00
Dmitry Arkhipov
747bde3e37 fix conversion into tuple with const elements 2023-06-29 20:47:33 +03:00
Matt Borland
00ba38404a Fix type of pointer to _umul128 2023-06-29 09:28:52 +02:00
Dmitry Arkhipov
3d751ad9e5 handle bias overflow 2023-06-28 13:22:49 +03:00
Dmitry Arkhipov
dd5494b202 accept numbers with large exponent 2023-06-26 21:38:25 +03:00
Dmitry Arkhipov
6a034f22d6 split parse_number into separate instatntiations per number parsing mode 2023-06-24 14:45:00 +03:00
Dmitry Arkhipov
285c3aa5a2 mode to not parse numbers 2023-06-23 18:12:08 +03:00
Dmitry Arkhipov
24cca5f47b fix error message for size_mismatch 2023-06-21 13:45:04 +03:00
Dmitry Arkhipov
8957955af4 restore object storage on failed range insert 2023-06-14 09:53:18 +03:00
Dmitry Arkhipov
c4329519cd do not reserve preemptively in object 2023-06-14 09:36:09 +03:00
Dmitry Arkhipov
4700500920 use Charconv for precise parsing 2023-06-13 16:50:11 +03:00
Dmitry Arkhipov
3956bdbb78 fix asan failures
Changes to array sizes in tests are due to asan bug.
2023-06-07 14:12:57 +03:00
Dmitry Arkhipov
be759c5051 only throw system_error 2023-06-02 16:23:08 +03:00
Dmitry Arkhipov
51d86cdd12 option to allow Infinity and NaN literals 2023-06-02 11:53:40 +03:00
Dmitry Arkhipov
f3e6f87f0e inline make_error_code 2023-06-02 11:35:57 +03:00
Dmitry Arkhipov
35dc1b964e support parse options in stream operator 2023-06-02 07:30:47 +03:00
Dmitry Arkhipov
b9e8b2edfe contextual conversions 2023-06-01 21:45:56 +03:00
Dmitry Arkhipov
c3729e828a refactor conversion implementation 2023-06-01 20:22:44 +03:00
Dmitry Arkhipov
6a12c32218 support serialization options in stream operator 2023-05-27 12:18:11 +03:00
Dmitry Arkhipov
e4fb714746 option for serialization of special numbers 2023-05-27 11:42:24 +03:00
Dmitry Arkhipov
ac9080ca0e fast path for parsing literals 2023-05-26 20:32:18 +03:00
Dmitry Arkhipov
642a9ee8ff option for precise number parsing 2023-05-22 17:57:48 +03:00
Dmitry Arkhipov
a99292b9ea remove unreachable code 2023-05-21 16:45:18 +03:00
Dmitry Arkhipov
0ae7c87a65 refactor handling of literals in parser 2023-05-21 16:37:01 +03:00
Dmitry Arkhipov
e7c646e23e remove unnecessary template parameter 2023-05-19 22:27:36 +03:00
Dmitry Arkhipov
8fb4af79d6 remove atavisitic note 2023-05-19 22:27:36 +03:00
Dmitry Arkhipov
7fe943120a remove handling of impossible parser state 2023-05-19 22:27:36 +03:00
Dmitry Arkhipov
9f2abf1c79 remove unnecessary doc states 2023-05-19 22:27:36 +03:00
Dmitry Arkhipov
7053124c57 change inserter to use member end() 2023-05-17 21:50:38 +03:00
Dmitry Arkhipov
94c5d74710 document string SBO 2023-04-02 21:24:19 +03:00
Dmitry Arkhipov
87b97a0990 a JSON to a JSON text 2023-03-27 13:00:59 +03:00