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