Namespaces
Variants

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

С ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Утилиты программы
Вариативные функции
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
 
Определено в заголовке <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 а
(функция)