std::weak_equal (3) - Linux Manuals

std::weak_equal: std::weak_equal

NAME

std::weak_equal - std::weak_equal

Synopsis


Defined in header <compare>
template< class T > (since C++20)
constexpr std::weak_equality weak_equal(const T& a, const T& b);


Compares two values using 3-way comparison and produces a result of type std::weak_equality
Specifically,


* If the expression a <=> b is well-formed and its result is convertible to std::weak_equality, returns that result.
* Otherwise, if the expression a <=> b is well-formed, but its result is not convertible to std::weak_equality, then the function is defined as deleted.
* Otherwise, if the expression a <=> b is ill-formed, but the expression a == b is well-formed and convertible to bool,


      * if a == b is true, returns std::weak_equality::equivalent
      * otherwise, returns std::weak_equality::nonequivalent


* Otherwise, the function is defined as deleted.

Parameters


a, b - values to compare

Return value


A value of type std::weak_equality, as described above.

Notes

Example


 This section is incomplete
 Reason: no example

See also


weak_equality the result type of 3-way comparison that supports only equality/inequality and is not substitutable
              (class)
(C++20)


strong_equal performs 3-way comparison and produces a result of type std::strong_equality
              (function template)
(C++20)


strong_order performs 3-way comparison and produces a result of type std::strong_ordering
              (function template)
(C++20)


partial_order performs 3-way comparison and produces a result of type std::partial_ordering
              (function template)
(C++20)


weak_order performs 3-way comparison and produces a result of type std::weak_ordering
              (function template)
(C++20)