- ios[meta header]
- std[meta namespace]
- class template[meta id-type]
- cpp11[meta cpp]
namespace std {
template <>
struct is_error_code_enum<io_errc> : public true_type { };
}
- is_error_code_enum[link /reference/system_error/is_error_code_enum.md]
- io_errc[link io_errc.md]
- true_type[link /reference/type_traits/true_type.md]
io_errc
に対するis_error_code_enum
の特殊化。
error_code
のコンストラクタにio_errc
の列挙値を指定するために使用する。
それによってmake_error_code()
のio_errc
に対するオーバーロードが呼び出され、iostream_category()
のerror_code
オブジェクトが生成される。
#include <iostream> // 自動的に<ios>もインクルードされる
int main()
{
std::error_code ec(std::io_errc::stream);
// 内部でstd::make_error_code(std::io_errc::stream)が呼ばれる
std::cout << ec.message() << std::endl;
}
- std::io_errc::stream[link io_errc.md]
iostream stream error
- C++11
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: 2012 [mark verified]