operator==,!=,<,<=>(std::error_condition)
Материал из cppreference.com
< cpp | error | error condition
Определено в заголовочном файле <system_error>
|
||
bool operator==( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(1) | (начиная с C++11) |
bool operator!=( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(2) | (начиная с C++11) (до C++20) |
bool operator<( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(3) | (начиная с C++11) (до C++20) |
std::strong_ordering operator<=>( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(4) | (начиная с C++20) |
bool operator==( const std::error_code& code, const std::error_condition& cond ) noexcept; |
(5) | (начиная с C++11) |
bool operator==( const std::error_condition& cond, const std::error_code& code ) noexcept; |
(5) | (начиная с C++11) (до C++20) |
bool operator!=( const std::error_code& code, const std::error_condition& cond ) noexcept; |
(6) | (начиная с C++11) (до C++20) |
bool operator!=( const std::error_condition& cond, const std::error_code& code ) noexcept; |
(6) | (начиная с C++11) (до C++20) |
Сравнивает два условия ошибки.
1) Проверяет, равны ли lhs и rhs.
2) Проверяет, не равны ли lhs и rhs.
3) Проверяет, lhs меньше rhs.
4) Получает результат трёхстороннего сравнения lhs и rhs.
5) Проверяет, соответствует ли code семантическому совпадению с cond.
6) Проверяет, соответствует ли code семантическому не совпадению с cond.
Операторы |
(начиная с C++20) |
[править] Параметры
lhs, rhs, cond | — | условия ошибки для сравнения |
code | — | код ошибки для сравнения |
[править] Возвращаемое значение
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().
5) true, если либо code.category().equivalent(code.value(), cond) или cond.category().equivalent(code, cond.value()).
6) true, если ни code.category().equivalent(code.value(), cond), ни cond.category().equivalent(code, cond.value()).
[править] Смотрите также
[virtual] |
сравнивает error_code и error_condition на эквивалентность (virtual public of std::error_category функция-элемент)
|
(удалено в C++20)(удалено в C++20)(C++20) |
сравнивает два error_code (функция) |