From: Julien Blanc (julien.blanc_at_[hidden])
Date: 2020-09-19 15:03:38


Le samedi 19 septembre 2020 à 05:37 -0700, Vinnie Falco a écrit :
> On Sat, Sep 19, 2020 at 3:32 AM Julien Blanc via Boost
> <boost_at_[hidden]> wrote:
> >
> It *is* possible to use basic_parser with your own handler (and it is
> documented). You just need to include the header manually, like this:
>
> #include <boost/json/basic_parser.hpp>
>
> This gives access to the class declaration and the member function
> definitions. The callbacks are documented here:
>
> <
https://master.json.cpp.al/json/ref/boost__json__basic_parser.html#json.ref.boost__json__basic_parser.handler0
>

Then i shall submit a doc bug report :). This is the doc i’ve found,
this page explictely state that basic_parser is “ Defined in header
<boost/json/detail/basic_parser.hpp>”.

Still, after reading the doc again, i don't get a clue what is this
on_number_part or why it exists at all. IIRC someone pointed out that
he will contribute docs on using the parser directly, that will be a
welcomed addition.

> > The second one was incompatibilites between standalone asio
> > bringing
> > boost headers (because boost is installed on my machine) and json
> > redefining them (because of standalone mode), resulting in multiple
> > defenitions of throw_exception.
>
> I'm open to suggestions on how to fix it:
>
> <
> https://github.com/CPPAlliance/json/blob/8c1075ab0bdcd0691ebc6f3574b9988cc5d3b2f6/include/boost/json/detail/impl/except.ipp#L37

Given that throw_expection is just a wrapper around a throw call in
that case, i guess it could simply live in the boost::json namespace.
That would avoid name clashes with asio (rapid testing has shown that
it seems to work).

Regards,

Julien