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

721 Commits

Author SHA1 Message Date
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