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