最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

class template
<future>

# std::is_error_code_enum(C++11)

    namespace std {
      template <>
      struct is_error_code_enum<future_errc> : public true_type { };
    }

## 概要

`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;
    }

### 出力例

    Broken promise

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2012 ✅

## 参照