std::strong_order (3) - Linux Manuals
std::strong_order: std::strong_order
NAME
std::strong_order - std::strong_order
Synopsis
Defined in header <compare>
template< class T > (since C++20)
constexpr std::strong_ordering strong_order(const T& a, const T& b);
Compares two values using 3-way comparison and produces a result of type std::strong_ordering
Specifically,
* First, if std::numeric_limits<T>::is_iec559 is true, performs the ISO/IEC/IEEE 60559 totalOrder comparison of floating-point values and returns that result as a value of type std::strong_ordering (note: this comparison can distinguish between the positive and negative zero and between the NaNs with different representations)
* Otherwise, if the expression a <=> b is well-formed and its result is convertible to std::strong_ordering, returns that result.
* Otherwise, if the expression a <=> b is well-formed, but its result is not convertible to std::strong_ordering, then the function is defined as deleted.
* Otherwise, if the expression a <=> b is ill-formed, but the expressions a == b and a < b are both well-formed and convertible to bool,
* Otherwise, the function is defined as deleted.
Parameters
a, b - values to compare
Return value
A value of type std::strong_ordering, as described above.
Notes
Example
This section is incomplete
Reason: no example
See also
strong_ordering the result type of 3-way comparison that supports all 6 operators and is substitutable
(C++20)
weak_order performs 3-way comparison and produces a result of type std::weak_ordering
(C++20)