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

履歴 編集

enum
<future>

# std::launch(C++11)

    namespace std {
      enum class launch : unspecified {
        async = unspecified,
        deferred = unspecified,
        implementation-defined
      };
    }

## 概要

`async()`関数に指定する実行ポリシーを表す、ビットマスクの列挙型。

列挙値の基底型は未規定。

列挙値 | 説明 | 対応バージョン
--- | --- | ---
`async` | 関数を別スレッドで非同期実行する。値は未規定。 | C++11
`deferred` | `future`から値を取り出すタイミングまで関数の評価を遅延させる。値は未規定。 | C++11
実装定義の列挙値 | 実装による拡張実行ポリシーを許可する | C++11

## バージョン

### 言語

- C++11

### 処理系

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

## 参照

- LWG Issue 2102. Why is `std::launch` an implementation-defined type?