<system_error> 运算符

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