On Tue, Sep 24, 2019 at 3:11 PM Vinnie Falco via Boost < boost@lists.boost.org> wrote:
[...] What we are missing, is a robust *container* for storing JSON values. Having a great container for representing all or part of a JSON document
does make it easier to write interoperable library components that work
with JSON.
[...] For this to work, boost::json::value needs to be a good general
purpose JSON container that satisfies most users. We can never satisfy ALL users; some design choices must represent tradeoffs between conflicting goals. The library I am providing, to propose to Boost eventually, places emphasis on the design of the JSON container because this is the surface which will be exposed between libraries. It is this part that hopefully will stimulate the growth of an ecosystem of libraries which use JSON and interoperate.
Sounds good to me. A boost::json::value with by-value semantic, proper R-value support, a nice API, that's compact and efficient, would have value. How different from boost::variant is it though? --DD