Spec-Zone.ru › C++

std::operator==,!=,<,<=>(std::error_code)

Определён в заголовочном файле <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().

См. также

category
получает категорию error_category для этого error_code
(функция-член класса)
value
получает значение error_code
(функция-член класса)
operator==operator!=operator<operator<=>
(удалён в C++20)(удалён в C++20)(C++20)
сравнивает error_conditions и error_codes
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/error/error_code/operator_cmp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API