2
0
mirror of https://github.com/boostorg/json.git synced 2026-02-09 23:22:27 +00:00
Commit Graph

987 Commits

Author SHA1 Message Date
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
Oliver Ofenloch
740dbaa7a6 Use the library's operator
```cpp
std::ostream &boost::json::operator<<(std::ostream &os, const boost::json::value &jv)
```
for output instead of jv.getXYZ() with std::ostream's operator <<
2023-05-08 10:52:52 +03:00
Dmitry Arkhipov
ee01580cfd 1.82.0 release notes boost-1.82.0 2023-04-02 22:11:13 +03:00
Dmitry Arkhipov
94c5d74710 document string SBO 2023-04-02 21:24:19 +03:00
Dmitry Arkhipov
33088c958a example of using string::grow 2023-04-02 21:24:19 +03:00
Dmitry Arkhipov
aa77d90639 provide example of parsing several values from several buffers 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
32e1d52cdd document supported JSON 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
4a7a2034d9 fix overview sectioning 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
b6a6c83dc7 document potential linking requirements 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
7cf7f107f6 mention RFC in overview and README 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
87b97a0990 a JSON to a JSON text 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
274901f348 fix template parameter docs for make_shared_resource 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
89bc551d82 clarify what default memory resource is 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
d7b0580bef mention how to disable autolinking 2023-03-27 13:00:59 +03:00
Dmitry Arkhipov
9b06d4a410 fix suspend inside escape 2023-03-25 16:24:47 +03:00
Matt Borland
d79336bbb7 Fix -Wdeprecated-declarations for sprintf 2023-03-20 18:47:33 -07:00
Dmitry Arkhipov
4d4d5fc14e non-allocating category messages boost-1.82.0.beta1 2023-03-01 12:36:20 +03:00
Dmitry Arkhipov
33d733d13c replace Bool with T
X defines the macro Bool and this breaks a build if JSON headers are
included afterwards
2023-02-12 17:42:49 +03:00
Dmitry Arkhipov
602daf81fc allow building benchmark runner without deps 2023-02-12 17:13:30 +03:00
Vinnie Falco
466202d3aa rename external macro test CMake target 2023-02-03 13:58:17 +03:00
Vinnie Falco
22c1b391d4 use alignment facilities from Core and Align 2023-01-28 15:15:10 +03:00
Vinnie Falco
c06b17aab8 caller provided serializer storage 2023-01-27 20:41:15 +03:00
sdarwin
d7b7bef705 Change ubsan drone test to clang-14 2023-01-27 08:32:11 -07:00
Dmitry Arkhipov
607b21d827 default source_location argument for throwing functions 2023-01-09 15:36:02 +03:00
Dmitry Arkhipov
36552f0c94 remove namespace macros 2023-01-02 18:41:01 +03:00
Dmitry Arkhipov
8659e7d694 value_to supports missing elements for std::optional 2023-01-02 14:09:40 +03:00
Dmitry Arkhipov
a210032263 set_at_pointer 2023-01-02 13:22:28 +03:00
Dmitry Arkhipov
c6508328c8 implement std::hash support via boost::hash 2023-01-02 12:37:41 +03:00
Dmitry Arkhipov
73946424a3 add boost::hash support 2023-01-02 12:37:41 +03:00
Dmitry Arkhipov
dc5d44d9dc remove useless tests 2023-01-02 12:37:41 +03:00
Max Kellermann
0f987f07d7 basic_parser: make sentinel() return a unique pointer
Right now, sentinel() casts the `basic_parser` pointer (`this`) to
`const char *`, but that pointer is not unique if the input buffer
happens to be placed right before the `basic_parser_impl` instance -
the end of that buffer then has the same address as `basic_parser`.

Example code:

```
  struct {
    char buffer[8]{"{\"12345\""};
    boost::json::stream_parser p;
  } s;
  s.p.write(s.buffer, sizeof(s.buffer));
  s.p.write(":0}", 3);
```

This stops parsing at the end of the buffer, and then the
`incomplete()` check in `parse_string()` will return true; the second
`write()` call will crash with assertion failure:

> boost/json/basic_parser_impl.hpp:1016: const char* boost::json::basic_parser<Handler>::parse_unescaped(const char*, std::integral_constant<bool, StackEmpty_>, std::integral_constant<bool, AllowComments_>, bool) [with bool StackEmpty_ = true; bool IsKey_ = true; Handler = boost::json::detail::handler]: Assertion `*cs == '\x22'' failed.

This changes `sentinel()` by adding 1 to guaranteed that the sentinel
pointer is unique even if the input buffers borders on this object.
2022-12-30 15:18:00 +01:00
Dmitry Arkhipov
6af3a5e05c guard std::min from windows.h 2022-12-19 22:58:47 +03:00
Dmitry Arkhipov
d310eb68eb Merge branch 'master' into develop 2022-12-19 20:47:27 +03:00
Dmitry Arkhipov
31b10c1b70 fix typo boost-1.81.0 2022-12-05 22:58:27 +03:00
Dmitry Arkhipov
ba335b07a9 1.81.0 release notes 2022-12-05 22:58:24 +03:00
Dmitry Arkhipov
8f837197a0 rewrite conversion docs 2022-12-05 22:46:46 +03:00
Dmitry Arkhipov
a0efa67944 dropped doc section numbering in files
The numbering made rearranging document sections tedious.
2022-12-05 22:46:46 +03:00
Dmitry Arkhipov
4ccf2141d9 fix value_from support for proxy iterators 2022-12-05 22:46:46 +03:00
Dmitry Arkhipov
6bb38cbfb1 fix conversion warning on 32 bit platforms 2022-12-05 22:46:46 +03:00
Dmitry Arkhipov
c5e5b54aad fix pedantic warnings 2022-12-05 22:27:44 +03:00
Dmitry Arkhipov
61b9d0afc4 refactor operator>>(istream&, value&) 2022-12-05 22:25:53 +03:00
Dmitry Arkhipov
905bf5b3a1 fix typo 2022-12-01 23:09:38 +03:00
Dmitry Arkhipov
c67d23f6df 1.81.0 release notes 2022-12-01 23:09:38 +03:00