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