Namespaces
Variants

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

From cppreference.net
Utilities library
Определено в заголовке <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 .

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

(начиная с 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 на эквивалентность
(виртуальная публичная функция-член std::error_category )
(удалено в C++20) (удалено в C++20) (C++20)
сравнивает два error_code а
(функция)