命名空间
变体
操作

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

来自 cppreference.cn
 
 
 
 
 
定义于头文件 <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
(函数) [编辑]