This commit is contained in:
nlohmann
2026-10-03 07:03:52 +00:00
parent a410b4f40f
commit ba443db2af
22 changed files with 127 additions and 78 deletions
File diff suppressed because one or more lines are too long
+5 -4
View File
@@ -5,10 +5,10 @@
bool operator>(const_reference lhs, const_reference rhs) noexcept; // (1)
template<typename ScalarType>
bool operator>(const_reference lhs, const ScalarType rhs) noexcept; // (2)
bool operator>(const_reference lhs, const ScalarType rhs) noexcept(/* see below */); // (2)
template<typename ScalarType>
bool operator>(ScalarType lhs, const const_reference rhs) noexcept; // (2)
bool operator>(ScalarType lhs, const const_reference rhs) noexcept(/* see below */); // (2)
```
1. Compares whether one JSON value `lhs` is greater than another JSON value `rhs` according to the following rules:
@@ -34,7 +34,8 @@ whether `lhs` is greater than `rhs`
## Exception safety
No-throw guarantee: this function never throws exceptions.
1. No-throw guarantee: this function never throws exceptions.
1. No-throw guarantee if converting the scalar to a JSON value cannot throw, as for numbers, Booleans, and `nullptr`; the function is `noexcept` exactly in that case. Otherwise, it throws what the conversion throws, for example `std::bad_alloc` when converting a string, or [`out_of_range.410`](https://json.nlohmann.me/home/exceptions/#jsonexceptionout_of_range410) for an enum value not mapped by [`NLOHMANN_JSON_SERIALIZE_ENUM_STRICT`](https://json.nlohmann.me/api/macros/nlohmann_json_serialize_enum_strict/index.md).
## Complexity
@@ -103,4 +104,4 @@ Output:
## Version history
1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0.
1. Added in version 1.0.0. Conditionally removed since C++20 in version 3.11.0. Made conditionally `noexcept` in version 3.13.0 unreleased; before, a throwing conversion called `std::terminate`.