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) 若 lhs.category() < rhs.category() 則為 true。否則,若 lhs.category() == rhs.category() && lhs.value() < rhs.value() 則為 true。否則為 false。
4) 若 lhs.category() <=> rhs.category() 不為 std::strong_ordering::equal,則返回其結果。否則,返回 lhs.value() <=> rhs.value()。
5) 若 code.category().equivalent(code.value(), cond) 或 cond.category().equivalent(code, cond.value()) 之一為 true,則返回 true。
6) 若 code.category().equivalent(code.value(), cond) 和 cond.category().equivalent(code, cond.value()) 都不為 true,則返回 true。
[編輯] 參閱
[virtual] |
比較 error_code 和 error_condition 是否等價( std::error_category 的虛公有成員函式) |
(在 C++20 中移除)(在 C++20 中移除)(C++20) |
比較兩個 error_code (函式) |