Merge pull request #868 from nlohmann/feature/issue867
📝 fixing documentation #867
This commit is contained in:
commit
383743c6c0
3 changed files with 22 additions and 15 deletions
|
@ -160,7 +160,7 @@ json empty_object_implicit = json({});
|
||||||
json empty_object_explicit = json::object();
|
json empty_object_explicit = json::object();
|
||||||
|
|
||||||
// a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
|
// a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
|
||||||
json array_not_object = { json::array({"currency", "USD"}), json::array({"value", 42.99}) };
|
json array_not_object = json::array({ {"currency", "USD"}, {"value", 42.99} });
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
26
src/json.hpp
26
src/json.hpp
|
@ -227,7 +227,7 @@ class exception : public std::exception
|
||||||
/*!
|
/*!
|
||||||
@brief exception indicating a parse error
|
@brief exception indicating a parse error
|
||||||
|
|
||||||
This excpetion is thrown by the library when a parse error occurs. Parse errors
|
This exception is thrown by the library when a parse error occurs. Parse errors
|
||||||
can occur during the deserialization of JSON text, CBOR, MessagePack, as well
|
can occur during the deserialization of JSON text, CBOR, MessagePack, as well
|
||||||
as when using JSON Patch.
|
as when using JSON Patch.
|
||||||
|
|
||||||
|
@ -243,7 +243,7 @@ json.exception.parse_error.102 | parse error at 14: missing or wrong low surroga
|
||||||
json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
|
json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
|
||||||
json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects.
|
json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects.
|
||||||
json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
|
json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
|
||||||
json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number wihtout a leading `0`.
|
json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`.
|
||||||
json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character.
|
json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character.
|
||||||
json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences.
|
json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences.
|
||||||
json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number.
|
json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number.
|
||||||
|
@ -3294,7 +3294,7 @@ class parser
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@brief the acutal acceptor
|
@brief the actual acceptor
|
||||||
|
|
||||||
@invariant 1. The last token is not yet processed. Therefore, the caller
|
@invariant 1. The last token is not yet processed. Therefore, the caller
|
||||||
of this function must make sure a token has been read.
|
of this function must make sure a token has been read.
|
||||||
|
@ -3646,12 +3646,12 @@ class iter_impl
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
|
/// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
|
||||||
/// The C++ Standard has never required user-defined iterators to derive from std::iterator.
|
/// The C++ Standard has never required user-defined iterators to derive from std::iterator.
|
||||||
/// A user-defined iterator should provide publicly accessible typedefs named
|
/// A user-defined iterator should provide publicly accessible typedefs named
|
||||||
/// iterator_category, value_type, difference_type, pointer, and reference.
|
/// iterator_category, value_type, difference_type, pointer, and reference.
|
||||||
/// Note that value_type is required to be non-const, even for constant iterators.
|
/// Note that value_type is required to be non-const, even for constant iterators.
|
||||||
using iterator_category = std::bidirectional_iterator_tag;
|
using iterator_category = std::bidirectional_iterator_tag;
|
||||||
|
|
||||||
/// the type of the values when the iterator is dereferenced
|
/// the type of the values when the iterator is dereferenced
|
||||||
using value_type = typename BasicJsonType::value_type;
|
using value_type = typename BasicJsonType::value_type;
|
||||||
|
@ -4312,7 +4312,7 @@ class json_reverse_iterator : public std::reverse_iterator<Base>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using difference_type = std::ptrdiff_t;
|
using difference_type = std::ptrdiff_t;
|
||||||
/// shortcut to the reverse iterator adaptor
|
/// shortcut to the reverse iterator adapter
|
||||||
using base_iterator = std::reverse_iterator<Base>;
|
using base_iterator = std::reverse_iterator<Base>;
|
||||||
/// the reference type for the pointed-to element
|
/// the reference type for the pointed-to element
|
||||||
using reference = typename Base::reference;
|
using reference = typename Base::reference;
|
||||||
|
@ -8304,7 +8304,7 @@ class basic_json
|
||||||
@brief create a JSON value
|
@brief create a JSON value
|
||||||
|
|
||||||
This is a "catch all" constructor for all compatible JSON types; that is,
|
This is a "catch all" constructor for all compatible JSON types; that is,
|
||||||
types for which a `to_json()` method exsits. The constructor forwards the
|
types for which a `to_json()` method exists. The constructor forwards the
|
||||||
parameter @a val to that method (to `json_serializer<U>::to_json` method
|
parameter @a val to that method (to `json_serializer<U>::to_json` method
|
||||||
with `U = uncvref_t<CompatibleType>`, to be exact).
|
with `U = uncvref_t<CompatibleType>`, to be exact).
|
||||||
|
|
||||||
|
@ -9027,7 +9027,7 @@ class basic_json
|
||||||
string | value_t::string
|
string | value_t::string
|
||||||
number (integer) | value_t::number_integer
|
number (integer) | value_t::number_integer
|
||||||
number (unsigned integer) | value_t::number_unsigned
|
number (unsigned integer) | value_t::number_unsigned
|
||||||
number (foating-point) | value_t::number_float
|
number (floating-point) | value_t::number_float
|
||||||
object | value_t::object
|
object | value_t::object
|
||||||
array | value_t::array
|
array | value_t::array
|
||||||
discarded | value_t::discarded
|
discarded | value_t::discarded
|
||||||
|
@ -10366,7 +10366,7 @@ class basic_json
|
||||||
@return copy of the element at key @a key or @a default_value if @a key
|
@return copy of the element at key @a key or @a default_value if @a key
|
||||||
is not found
|
is not found
|
||||||
|
|
||||||
@throw type_error.306 if the JSON value is not an objec; in that cases,
|
@throw type_error.306 if the JSON value is not an object; in that cases,
|
||||||
using `value()` with a key makes no sense.
|
using `value()` with a key makes no sense.
|
||||||
|
|
||||||
@complexity Logarithmic in the size of the container.
|
@complexity Logarithmic in the size of the container.
|
||||||
|
|
|
@ -100,13 +100,20 @@ TEST_CASE("README", "[hide]")
|
||||||
{
|
{
|
||||||
// ways to express the empty array []
|
// ways to express the empty array []
|
||||||
json empty_array_implicit = {{}};
|
json empty_array_implicit = {{}};
|
||||||
|
CHECK(empty_array_implicit.is_array());
|
||||||
json empty_array_explicit = json::array();
|
json empty_array_explicit = json::array();
|
||||||
|
CHECK(empty_array_explicit.is_array());
|
||||||
|
|
||||||
// a way to express the empty object {}
|
// a way to express the empty object {}
|
||||||
json empty_object_explicit = json::object();
|
json empty_object_explicit = json::object();
|
||||||
|
CHECK(empty_object_explicit.is_object());
|
||||||
|
|
||||||
// a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
|
// a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
|
||||||
json array_not_object = { json::array({"currency", "USD"}), json::array({"value", 42.99}) };
|
json array_not_object = json::array({ {"currency", "USD"}, {"value", 42.99} });
|
||||||
|
CHECK(array_not_object.is_array());
|
||||||
|
CHECK(array_not_object.size() == 2);
|
||||||
|
CHECK(array_not_object[0].is_array());
|
||||||
|
CHECK(array_not_object[1].is_array());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue