Boost logo

Boost :

Subject: Re: [boost] [CppCMS] What can be contributed to Boost?
From: Bjorn Reese (breese_at_[hidden])
Date: 2018-02-04 17:39:38


On 02/02/18 19:30, Artyom Beilis via Boost wrote:

> Once I can think of is cppcms::json
>
> http://cppcms.com/wikipp/en/page/cppcms_1x_json
> http://cppcms.com/cppcms_ref/latest/classcppcms_1_1json_1_1value.html
>
> Also it should be updated to C++11 and probably do some small features
> updates. it is one of the fastest JSON parsers around (and yes it is
> way faster and convenient than one in property tree)
>
> What do you think?

If the Boost community wants a JSON library, then I would like to
suggest another, more versatile ibrary:

   https://github.com/breese/trial.protocol

Documentation can be found here:

   http://breese.github.io/trial/protocol/

This library consists of two (well, three) parts:

   1. A dynamic variable which is a variant type that can contain
      fundamental types, arrays, and associative arrays. This can be
      used as a parse tree for JSON and similar binary formats like
      MsgPack, UBJSON, BinToken, and CBOR. But it can also be used
      as a data container for, say, configuration data. The dynamic
      variable has iterators so it works with std algorithms. It also
      comes with a visitor.

   2. A JSON parser/generator framework. This contains an incremental
      pull parser (json::reader) as the basic building-block. The
      incremental parser is used by a Boost.Serialization archive to
      enable serialization directly between JSON and C++ data structures.
      The incremental parser is also used by a tree parser that converts
      JSON into the before-mentioned dynamic variable.

   3. A BinToken parser/generator framework. Like the JSON framework, but
      for the binary BinToken format. Currently undocumented.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk