std::operator==,!=,<,<=>(std::error_code) - cppreference.com

From cppreference.com

Defined in header

<system_error>

booloperator==(conststd::error_code&lhs,conststd::error_code&rhs)noexcept; (1) (since C++11)booloperator!=(conststd::error_code&lhs,conststd::error_code&rhs)noexcept; (2) (since C++11)
(until C++20)booloperator<(conststd::error_code&lhs,conststd::error_code&rhs)noexcept; (3) (since C++11)
(until C++20)std::strong_orderingoperator<=>(conststd::error_code&lhs,conststd::error_code&rhs)noexcept; (4) (since C++20)Compares two error code objects.

1) Compares lhs and rhs for equality.

2) Compares lhs and rhs for equality.

3) Checks whether lhs is less than rhs.

4) Obtains three-way comparison result of lhs and rhs.

The <, <=, >, >=, and != operators are

synthesized

from operator<=> and operator== respectively.

(since C++20)Parameters

lhs, rhs - error codes to compare Return value

1)true if the error category and error value compare equal.

2)true if the error category or error value compare are not equal.

3)true if lhs.category()<rhs.category(). Otherwise, true if lhs.category()==rhs.category()&&lhs.value()<rhs.value(). Otherwise, false.

4)lhs.category()<=>rhs.category() if it is not std::strong_ordering::equal. Otherwise, lhs.value()<=>rhs.value().

See also