名前空間
変種
操作

std::is_error_code_enum<std::io_errc>

提供: cppreference.com
< cpp‎ | io‎ | io errc
 
 
 
std::io_errc
非メンバ関数
ヘルパークラス
is_error_code_enum<std::io_errc>
 
ヘッダ <ios> で定義
template<>
struct is_error_code_enum<std::io_errc>:publicstd::true_type{};
(C++11以上)

この std::is_error_code_enum の特殊化は std::io_errc 型の値がエラーコードを保持する列挙であることを他のライブラリコンポーネントに知らせます。 これにより std::io_errc 型の値が std::error_code 型のオブジェクトに暗黙に変換可能および代入可能になります。

目次

std::integral_constant から継承

メンバ定数

value
[静的]
true
(パブリック静的メンバ定数)

メンバ関数

operator bool
オブジェクトを bool に変換します。 value を返します
(パブリックメンバ関数)
operator()
(C++14)
value を返します
(パブリックメンバ関数)

メンバ型

定義
value_typebool
typestd::integral_constant<bool, value>

[編集]

std::is_error_code_enum<std::io_errc>::value==true であるため e.code()std::io_errc::stream の比較がコンパイルできます。

#include <iostream>#include <fstream>int main(){std::ifstream f("doesn't exist");try{ f.exceptions(f.failbit);}catch(conststd::ios_base::failure& e){std::cout<<"Caught an ios_base::failure.\n";if(e.code()==std::io_errc::stream)std::cout<<"The error code is std::io_errc::stream\n";}}

出力:

Caught an ios_base::failure. The error code is std::io_errc::stream

[編集]関連項目

クラスを error_code 列挙型として識別します
(クラステンプレート)[edit]
(C++11)
プラットフォーム依存のエラーコードを保持します
(クラス)[edit]
(C++11)
iostream のエラーコード
(列挙)[edit]
close