This is a review from a library user standpoint.
Thanks to Vinnie, Krystian, and the other contributors for their work.
> Do you think the library should be accepted as a Boost library?
I recommend ACCEPTING this library into Boost.
> - What is your evaluation of the design?
The design takes some time to get used to, but it fits well to the
problem being tackled (a JSON-DOM library).
Switching my codebases using RapidJSON to this library made the code
more readable and it will also allow me to get rid of a significant
amount of boilerplate.
> - What is your evaluation of the implementation?
Looks solid. Boost-quality I find.
> - What is your evaluation of the documentation?
Solid. A month ago I still had to read the source code to find some
details, but now all I need for my use-cases is in the docs, well explained.
> - What is your evaluation of the potential usefulness of the library?
Very useful; to me it takes the same place as Nlohmann.JSON and
RapidJSON, both very popular and widely used libraries, but brings
better performance and a better API.
Regardless of the outcome of this review, I will use this library for my
future JSON-DOM needs in C++.
> - Did you try to use the library? With which compiler(s)?
All in standalone mode on Debian:
GCC 9, 10
Clang 9, 10, 11 [trunk of 03 Jul 2020]
> - How much effort did you put into your evaluation?
Converted two of my codebases (which have different use-cases for a
JSON-DOM), read through the implementation, read the docs at multiple
stages of its maturation over the last couple months.
Amounts to about 40h.
> - Are you knowledgeable about the problem domain?
I do not have much experience designing nor writing libraries, however I
do use a significant number of them, both Boost and non-Boost.
JSON is my primary format for configuration files and web communication;
In the past I have used Nlohmann.JSON and then primarily RapidJSON for
its speed, despite its (in my eyes) terribly user-unfriendly interface.
I have also used JSON a lot in other languages (TypeScript, PureScript,