std::experimental::future<T>:: future
From cppreference.net
<
cpp
|
experimental
|
future
|
future
(
)
noexcept
;
|
(1) | |
|
future
(
std::
experimental
::
future
<
T
>
&&
f
)
noexcept
;
|
(2) | |
|
future
(
const
std::
experimental
::
future
<
T
>
&
)
=
delete
;
|
(3) | |
|
future
(
std::
experimental
::
future
<
std::
experimental
::
future
<
T
>>
&&
other
)
noexcept
;
|
(4) | |
1)
デフォルトコンストラクタ。共有状態を参照しない空の
future
オブジェクトを構築します。
2)
future
オブジェクトを構築し、
f
が保持する共有状態があれば転送します。構築後、
f.
valid
(
)
は
false
になります。
3)
コピーコンストラクタは削除されています。
future
はコピーできません。
4)
アンラップコンストラクタ。共有状態から
future
オブジェクトを構築する。事前に
other
が参照する共有状態が存在する場合、それを使用する。この呼び出し前に
other.
valid
(
)
==
false
の場合、構築された
future
オブジェクトは空となる。それ以外の場合、結果の
future
オブジェクトは以下のいずれかの条件でready状態となる:
-
other
と
other.
get
(
)
の両方がready状態の場合。
other.
get
(
)
からの値または例外が、結果の
futureオブジェクトに関連付けられた共有状態に格納される。 -
other
がready状態だが、
other.
get
(
)
が無効な場合。
std::future_error
型の例外(エラー条件
std::future_errc::broken_promise
)が、結果の
futureオブジェクトに関連付けられた共有状態に格納される。
このコンストラクタが戻った後、
valid
(
)
はこの呼び出し前の
other.
valid
(
)
の値と等しくなり、
other.
valid
(
)
==
false
となります。
目次 |
パラメータ
| f | - | 初期化に使用する別のfutureオブジェクト |
| other | - |
アンラップする
std::experimental::future
オブジェクト
|
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 2697 | Concurrency TS |
アンラップコンストラクタの動作が無効な
future
の場合に不明確
|
空の
future
を構築
|
関連項目
|
futureオブジェクトを構築する
(
std::future<T>
の公開メンバ関数)
|