◐ Shell
clean mode source ↗

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

Материал из cppreference.com

<tbody> </tbody>

Определено в заголовочном файле <system_error>

bool operator==( const std::error_code& lhs, const std::error_code& rhs ) noexcept;

(1) (начиная с C++11)

bool operator!=( const std::error_code& lhs, const std::error_code& rhs ) noexcept;

(2) (начиная с C++11)
(до C++20)

bool operator<( const std::error_code& lhs, const std::error_code& rhs ) noexcept;

(3) (начиная с C++11)
(до C++20)

std::strong_ordering operator<=>( const std::error_code& lhs, const std::error_code& rhs ) noexcept;

(4) (начиная с C++20)

Сравнивает два объекта кода ошибки.

1) Сравнивает lhs и rhs на равенство.

2) Сравнивает lhs и rhs на равенство.

3) Проверяет, меньше ли lhs, чем rhs.

4) Получает результат трёхстороннего сравнения lhs и rhs.

Операторы <, <=, >, >= и != синтезируются из operator<=> и operator== соответственно.

(начиная с C++20)

Параметры

lhs, rhs коды ошибок для сравнения

Возвращаемое значение

1) true, если категория ошибки и значение ошибки при сравнении равны.

2) true, если сравниваемые категория ошибки или значение ошибки не равны.

3) true, если lhs.category() < rhs.category(). Иначе true, если lhs.category() == rhs.category() && lhs.value() < rhs.value(). Иначе false.

4) lhs.category() <=> rhs.category(), если они не std::strong_ordering::equal. Иначе lhs.value() <=> rhs.value().

Смотрите также