operator==
测试运算符左侧的 对象是否等于右侧的 对象。
bool operator==(const error_code& left,
const error_condition& right);
bool operator==(const error_condition& left,
const error_code& right);
bool operator==(const error_condition& left,
const error_condition& right);
参数
left
要测试是否相等的对象。
right
要测试是否相等的对象。
返回值
如果对象相等,则为 true
;如果对象不相等,则为 false
。
备注
该函数返回 left.category() == right.category() && left.value() == right.value()
。
operator!=
测试运算符左侧的 对象是否不等于右侧的 对象。
bool operator!=(const error_code& left, const error_condition& right);
bool operator!=(const error_condition& left, const error_code& right);
bool operator!=(const error_code& left, const error_code& right);
bool operator!=(const error_condition& left, const error_condition& right);
参数
left
要测试不相等的对象。
right
要测试不相等的对象。
返回值
如果传入 的对象与传入 right
的对象不相等,则 true
;否则 false
。
备注
该函数返回 !(left == right)
。
operator<
测试一个对象是否小于要比较的传入对象。
template <class _Enum>
inline bool operator<(
_Enum left,
typename enable_if<is_error_code_enum<_Enum>::value,
const error_code&>::type right);
template <class _Enum>
inline bool operator<(
typename enable_if<is_error_code_enum<_Enum>::value,
const error_code&>::type left, _Enum right);
template <class _Enum>
inline bool operator<(
_Enum left,
typename enable_if<is_error_condition_enum<_Enum>::value,
const error_condition&>::type right);
template <class _Enum>
inline bool operator<(
typename enable_if<is_error_condition_enum<_Enum>::value,
const error_condition&>::type left, _Enum right);
参数
left
要比较的对象。
right
要比较的对象。
返回值
如果传入 left
的对象小于传入 right
的对象,则 true
;否则,false
。
备注
该函数测试错误顺序。
operator<<
将 error_code
对象插入到输出流中。
template <class charT, class traits>
basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>& os, const error_code& ec);
参数
os
目标输出流。
ec
要输出的 error_code
对象。
返回值
对修改后的输出流的引用。
备注
此运算符执行等效 os << ec.category().name() << ':' << ec.value()
。
例
#include <iostream>
#include <system_error>
int main()
{
std::error_code ec(1234, std::generic_category());
std::cout << ec;
}
generic:1234