名稱空間
變體
操作

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

來自 cppreference.com
 
 
 
 
 
定義於標頭檔案 <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) 檢查 lhsrhs 是否相等。
2) 檢查 lhsrhs 是否不相等。
3) 檢查 lhs 是否 小於 rhs
4) 獲取 lhsrhs 的三路比較結果。
5) 檢查 code 是否在語義上與 cond 匹配。
6) 檢查 code 是否在語義上與 cond 不匹配。

運算子 <, <=, >, >=!= 分別由 operator<=>operator== 合成

(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_codeerror_condition 是否等價
(std::error_category 的虛公有成員函式) [編輯]
(在 C++20 中移除)(在 C++20 中移除)(C++20)
比較兩個 error_code
(函式) [編輯]