On Tue, Sep 15, 2020 at 4:00 PM Andrzej Krzemienski
This is just my way of trying to determine the scope of this library. I would appreciate it if you said something similar in the docs in some "design decisions" section.
That high-level contract -- as I understand it -- is: 1. Any json::value that you can build can be serialized and then deserialized, and you are guaranteed that the resulting json::value will be equal to the original. 2. JSON inputs where number values cannot be represented losslessly in uint64_t, int64_t and double, may render different values when parsed and then serialized back, and for extremely big number values can even fail to parse. 3. Whatever JSON output you can produce with this library, we guarantee it can be passed by any common JSON implementation (probably also based on uint64_t+int64_t+double implementation.
Yes this sounds about right and I agree the docs should make this clear. Thanks