📝 add more API documentation

This commit is contained in:
Niels Lohmann 2020-08-16 14:48:48 +02:00
parent fb5c20134f
commit a430d25f22
No known key found for this signature in database
GPG key ID: 7F3CEA63AE251B69
5 changed files with 140 additions and 5 deletions

View file

@ -78,6 +78,8 @@ INSERT INTO searchIndex(name, type, path) VALUES ('operator!=', 'Operator', 'api
INSERT INTO searchIndex(name, type, path) VALUES ('operator+=', 'Operator', 'api/basic_json/operator+=/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator=', 'Operator', 'api/basic_json/operator=/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator==', 'Operator', 'api/basic_json/operator==/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator<', 'Operator', 'api/basic_json/operator</index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator>', 'Operator', 'api/basic_json/operator>/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator[]', 'Operator', 'api/basic_json/operator[]/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator""_json', 'Literal', 'api/basic_json/operator_literal_json/index.html');
INSERT INTO searchIndex(name, type, path) VALUES ('operator""_json_pointer', 'Literal', 'api/basic_json/operator_literal_json_pointer/index.html');

View file

@ -81,9 +81,9 @@ Todo
| `const_pointer` | `#!cpp std::allocator_traits<allocator_type>::const_pointer` |
| `iterator` | [LegacyBidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator) |
| `const_iterator` | constant [LegacyBidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator) |
| `reverse_iterator` | |
| `const_reverse_iterator` | |
| `iteration_proxy` | |
| `reverse_iterator` | reverse iterator, derived from `iterator` |
| `const_reverse_iterator` | reverse iterator, derived from `const_iterator` |
| `iteration_proxy` | helper type for [`items`](items.md) function |
### JSON value data types
@ -193,9 +193,9 @@ Access to the JSON value
- [**operator==**](operator==.md) - comparison: equal
- [**operator!=**](operator!=.md) - comparison: not equal
- operator< - comparison: less than
- [**operator<**](operator<.md) - comparison: less than
- operator<= - comparison: less than or equal
- operator> - comparison: greater than
- [**operator>**](operator>.md) - comparison: greater than
- operator>= - comparison: greater than or equal
### Serialization

View file

@ -0,0 +1,73 @@
# basic_json::operator<
```cpp
bool operator<(const_reference lhs, const_reference rhs) noexcept,
template<typename ScalarType>
bool operator<(const_reference lhs, const ScalarType rhs) noexcept;
template<typename ScalarType>
bool operator<(ScalarType lhs, const const_reference rhs) noexcept;
```
Compares whether one JSON value `lhs` is less than another JSON value `rhs` according to the following rules:
- If `lhs` and `rhs` have the same type, the values are compared using the default `<` operator.
- Integer and floating-point numbers are automatically converted before comparison
- Discarded values a
- In case `lhs` and `rhs` have different types, the values are ignored and the order of the types is considered, which
is:
1. null
2. boolean
3. number (all types)
4. object
5. array
6. string
7. binary
For instance, any boolean value is considered less than any string.
## Template parameters
`ScalarType`
: a scalar type according to `std::is_scalar<ScalarType>::value`
## Parameters
`lhs` (in)
: first value to consider
`rhs` (in)
: second value to consider
## Return value
whether `lhs` is less than `rhs`
## Exception safety
No-throw guarantee: this function never throws exceptions.
## Complexity
Linear.
## Example
??? example
The example demonstrates comparing several JSON types.
```cpp
--8<-- "examples/operator__less.cpp"
```
Output:
```json
--8<-- "examples/operator__less.output"
```
## Version history
- Added in version 1.0.0.

View file

@ -0,0 +1,58 @@
# basic_json::operator>
```cpp
bool operator>(const_reference lhs, const_reference rhs) noexcept,
template<typename ScalarType>
bool operator>(const_reference lhs, const ScalarType rhs) noexcept;
template<typename ScalarType>
bool operator>(ScalarType lhs, const const_reference rhs) noexcept;
```
Compares whether one JSON value `lhs` is greater than another JSON value `rhs` by calculating `#!cpp !(lhs <= rhs)`.
## Template parameters
`ScalarType`
: a scalar type according to `std::is_scalar<ScalarType>::value`
## Parameters
`lhs` (in)
: first value to consider
`rhs` (in)
: second value to consider
## Return value
whether `lhs` is greater than `rhs`
## Exception safety
No-throw guarantee: this function never throws exceptions.
## Complexity
Linear.
## Example
??? example
The example demonstrates comparing several JSON types.
```cpp
--8<-- "examples/operator__greater.cpp"
```
Output:
```json
--8<-- "examples/operator__greater.output"
```
## Version history
- Added in version 1.0.0.

View file

@ -146,6 +146,8 @@ nav:
- api/basic_json/operator=.md
- api/basic_json/operator==.md
- api/basic_json/operator!=.md
- api/basic_json/operator<.md
- api/basic_json/operator>.md
- api/basic_json/operator+=.md
- api/basic_json/operator_literal_json.md
- api/basic_json/operator_literal_json_pointer.md