boostorg / boostorg/json

Documentation for implementation limits and related design choices

Open
#744 0 comments 0 reactions 1 assignee Claimed by @grisumbras View on GitHub
Doc
Dominant language
C++
Stars
479
Forks
110
Avg merge
10d 3h
Merged PRs (30d)
5

Description

Documentation would benefit from the
info on implementation-limits-related design choices.

* Guaranteed roundtrip for `value` -> serialized text -> value (but note that infinity and NaN can be in the original `value` and do not currently serialize properly).
* 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 (document supported number ranges).
* 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) (this hardly can be anything specific, we can only present it as a goal of the library).

Also

* Configuration macros that affect implementation limits
* Hard-coded/default implementation limits

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.