Dmitry Arkhipov
0201abe2df
remove BOOST_ASSERT fallback
2024-02-13 13:05:55 +03:00
Dmitry Arkhipov
8ae26f30f0
remove BOOST_NORETURN fallback
2024-02-13 13:05:55 +03:00
Dmitry Arkhipov
3d8c37d6b3
remove BOOST_JSON_NODISCARD
2024-02-13 13:05:55 +03:00
Dmitry Arkhipov
5663210adf
use Boost.Endian for endianness
2024-02-12 22:52:36 +03:00
Dmitry Arkhipov
bacc644f93
deprecate type aliases
2024-02-09 13:19:49 +03:00
Dmitry Arkhipov
411b9a9201
explicitly require default construction in value_to for described classes
2024-02-08 20:09:12 +03:00
Dmitry Arkhipov
b031e0d317
better document visit
2024-02-07 23:11:35 +03:00
Dmitry Arkhipov
e8d8409928
rvalue ref overload for visit
2024-02-07 23:11:35 +03:00
Dmitry Arkhipov
b07a034870
fix references used in visit
...
1. Fix references in return type
2. Pass nullptr to the visitor with the same value category as the argument.
This is done for uniformity.
2024-02-07 21:39:54 +03:00
Dmitry Arkhipov
ed3a618e4c
direct parsing supports paths
2024-02-06 20:01:31 +03:00
Dmitry Arkhipov
14dfadb44b
add conversion support for paths
2024-02-06 20:01:31 +03:00
Dmitry Arkhipov
194aefb376
do not allow self-referential sequences
...
If the sequence's value type is the same type as the sequence, our
sequence conversion algorithms can't handle them, because they clearly
have some additional data associated with them. As such, they need
special treatment.
2024-02-05 14:07:15 +03:00
Nigel Stewart
942bbd4cf5
remove unnecessary semicolons
...
Fix for Issue #968 - extra ; in gcc --pedantic-errors mode
2024-01-08 14:42:23 +03:00
Dmitry Arkhipov
04b26837fd
remove dead code from serializer
2023-12-15 17:49:45 +03:00
Dmitry Arkhipov
ae4fdf153f
notes on as_ functions not doing convesions
2023-10-27 21:03:13 +03:00
Dmitry Arkhipov
b2fa868bbe
make memory resource classes VISIBLE
2023-10-26 20:54:45 +03:00
Dmitry Arkhipov
aa14b592fe
remove unused macros
2023-10-26 20:49:23 +03:00
Dmitry Arkhipov
e19eddeaee
parse_into clears strings before filling them
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
75981e701e
parse_into clears sequences before filling them
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
34284c3e53
avoid unnecessary allocations for strings
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
60bf3455c2
remove unnecessary parameters
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
a3821cea69
increase parse_into coverage
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
f5b9709666
add struct member count checking for parse_into
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
c1b7174780
add array size checking for parse_into
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
aaa4e7f58a
add tuple size checking for parse_into
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
9859866d08
parse_into supports std::array
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
7b26a344be
parse_into supports variants
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
98b85ad1ab
parse_into tuple support works on C++11
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
b540696622
error_code is first argument for parse_into nested handlers' functions
2023-10-09 16:59:39 +03:00
Dmitry Arkhipov
9565c71dee
refactor parse_into tuple handler
2023-10-09 16:59:39 +03:00
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