class weak_ordering;
(since C++20)The class type std::weak_ordering
is the result type of a three-way comparison that:
==
, !=
, <
, <=
, >
, >=
).The type std::weak_ordering
has three valid values, implemented as const static data members of its type:
inline constexpr std::weak_ordering less
[static]
a valid value indicating less-than (ordered before) relationshipinline constexpr std::weak_ordering equivalent
[static]
a valid value indicating equivalence (neither ordered before nor ordered after)inline constexpr std::weak_ordering greater
[static]
a valid value indicating greater-than (ordered after) relationshipstd::weak_ordering
is implicitly-convertible to std::partial_ordering, while std::strong_ordering is implicitly-convertible to weak_ordering.
operator partial_ordering
implicit conversion to std::partial_orderingconstexpr operator partial_ordering() const noexcept;
Return valuestd::partial_ordering::less if v
is less
, std::partial_ordering::greater if v
is greater
, std::partial_ordering::equivalent if v
is equivalent
.
Comparison operators are defined between values of this type and literal â0â. This supports the expressions a <=> b == 0 or a <=> b < 0 that can be used to convert the result of a three-way comparison operator to a boolean relationship; see std::is_eq, std::is_lt, etc.
These functions are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::weak_ordering
is an associated class of the arguments.
The behavior of a program that attempts to compare a weak_ordering
with anything other than the integer literal â0â is undefined.
operator==operator<operator>operator<=operator>=operator<=>
compares with zero or aweak_ordering
friend constexpr bool operator==( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr bool operator==( weak_ordering v, weak_ordering w ) noexcept = default;
(2) Parameters v, w -std::weak_ordering
values to check u - an unused parameter of any type that accepts literal zero argument Return value
1) true if v
is equivalent
, false if v
is less
or greater
2) true if both parameters hold the same value, false otherwise
operator<friend constexpr bool operator<( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr bool operator<( /*unspecified*/ u, weak_ordering v ) noexcept;
(2) Parameters v - astd::weak_ordering
value to check u - an unused parameter of any type that accepts literal zero argument Return value
1) true if v
is less
, and false if v
is greater
or equivalent
2) true if v
is greater
, and false if v
is less
or equivalent
friend constexpr bool operator<=( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr bool operator<=( /*unspecified*/ u, weak_ordering v ) noexcept;
(2) Parameters v - astd::weak_ordering
value to check u - an unused parameter of any type that accepts literal zero argument Return value
1) true if v
is less
or equivalent
, and false if v
is greater
2) true if v
is greater
or equivalent
, and false if v
is less
friend constexpr bool operator>( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr bool operator>( /*unspecified*/ u, weak_ordering v ) noexcept;
(2) Parameters v - astd::weak_ordering
value to check u - an unused parameter of any type that accepts literal zero argument Return value
1) true if v
is greater
, and false if v
is less
or equivalent
2) true if v
is less
, and false if v
is greater
or equivalent
friend constexpr bool operator>=( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr bool operator>=( /*unspecified*/ u, weak_ordering v ) noexcept;
(2) Parameters v - astd::weak_ordering
value to check u - an unused parameter of any type that accepts literal zero argument Return value
1) true if v
is greater
or equivalent
, and false if v
is less
2) true if v
is less
or equivalent
, and false if v
is greater
friend constexpr weak_ordering operator<=>( weak_ordering v, /*unspecified*/ u ) noexcept;
(1)friend constexpr weak_ordering operator<=>( /*unspecified*/ u, weak_ordering v ) noexcept;
(2) Parameters v - astd::weak_ordering
value to check u - an unused parameter of any type that accepts literal zero argument Return value
1) v.
2) greater
if v
is less
, less
if v
is greater
, otherwise v
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4