函式
<system_error>

std::關係運算符 (error_code)

vs error_code(1)
bool operator== (const error_code& lhs, const error_code& rhs) noexcept;bool operator!= (const error_code& lhs, const error_code& rhs) noexcept;bool operator<  (const error_code& lhs, const error_code& rhs) noexcept;
vs error_condition(2)
bool operator== (const error_code& lhs, const error_condition& rhs) noexcept;bool operator== (const error_condition& lhs, const error_code& rhs) noexcept;bool operator!= (const error_code& lhs, const error_condition& rhs) noexcept;bool operator!= (const error_condition& lhs, const error_code& rhs) noexcept;
關係運算符
返回 lhsrhs 之間關係運算的結果。

當比較涉及兩個型別為 error_code 的物件時
  • 如果它們屬於相同的 category,該函式返回對其關聯的 應用適當運算子(==!=<)的結果。
  • 否則,該函式返回對其 類別 應用運算子(==!=<)的結果。

如果操作涉及 error_code 物件和 error_condition 物件,則該函式呼叫 error_category::equivalent 以確定它們是否等效。

這些函式的行為就像定義為
1
2
3
4
5
6
7
8
9
10
11
12
bool operator== (const error_code& lhs, const error_code& rhs) noexcept
{ return lhs.category()==rhs.category() && lhs.value()==rhs.value(); }
bool operator!= (const error_code& lhs, const error_code& rhs) noexcept { return !(lhs==rhs); }
bool operator<  (const error_code& lhs, const error_code& rhs) noexcept
{ return lhs.category()<rhs.category() || lhs.category()==rhs.category()&&lhs.value()<rhs.value(); }

bool operator== (const error_code& lhs, const error_condition& rhs) noexcept
{ return lhs.category().equivalent(lhs.value,rhs) || rhs.category().equivalent(lhs,rhs.value()); }
bool operator== (const error_condition& lhs, const error_code& rhs) noexcept
{ return lhs.category().equivalent(lhs.value,rhs) || rhs.category().equivalent(lhs,rhs.value()); }
bool operator!= (const error_code& lhs, const error_condition& rhs) noexcept { return !(lhs==rhs); }
bool operator!= (const error_condition& lhs, const error_code& rhs) noexcept { return !(lhs==rhs); }

引數

lhs, rhs
物件(分別位於運算子的左側和右側)。

返回值

如果條件成立,則為 true;否則為 false

另見