std::experimental::promise<R>:: promise (library fundamentals TS)
From cppreference.net
<
cpp
|
experimental
|
lib extensions
|
promise
|
promise
(
)
;
|
(1) | (ライブラリファンダメンタルTS) |
|
template
<
class
Alloc
>
promise ( std:: allocator_arg_t , const Alloc & alloc ) ; |
(2) | (ライブラリファンダメンタルTS) |
|
promise
(
promise
&&
other
)
noexcept
;
|
(3) | (ライブラリファンダメンタルTS) |
|
promise
(
const
promise
&
other
)
=
delete
;
|
(4) | (ライブラリファンダメンタルTS) |
std::experimental::promise
オブジェクトを構築します。
1)
デフォルトコンストラクタ。空の共有状態でpromiseを構築します。
2)
空の共有状態でpromiseを構築します。共有状態は
alloc
を使用して割り当てられます。これは型消去アロケータとして扱われます(下記参照)。
3)
ムーブコンストラクタ。共有状態を
other
からムーブセマンティクスを使用して構築します。構築後、
other
は共有状態を持ちません。
4)
std::experimental::promise
はコピー不可です。
タイプ消去アロケータ
promise
のコンストラクタがアロケータ引数
alloc
を受け取る場合、その引数をタイプ消去されたアロケータとして扱います。
promise
がメモリ確保に使用するメモリリソースポインタは、指定されたアロケータ引数を使用して以下のように決定されます:
alloc
の型
|
メモリリソースポインタの値 |
| 存在しない(構築時にアロケータが指定されていない場合) | 構築時の std:: experimental :: pmr :: get_default_resource ( ) の値 |
| std::nullptr_t | 構築時の std:: experimental :: pmr :: get_default_resource ( ) の値 |
|
std:: experimental :: pmr :: memory_resource * に変換可能なポインタ型 |
static_cast < std:: experimental :: pmr :: memory_resource * > ( alloc ) |
|
std::experimental::pmr::polymorphic_allocator の特殊化 |
alloc. resource ( ) |
| Allocator 要件を満たすその他の型 |
std::
experimental
::
pmr
::
resource_adaptor
<
A
>
(
alloc
)
型の値へのポインタ(
A
は
alloc
の型)。このポインタは
promise
オブジェクトの生存期間中のみ有効
|
| 上記のいずれにも該当しない場合 | プログラムは不適格(ill-formed) |
パラメータ
| alloc | - | 共有状態の割り当てに使用するアロケータ |
| other | - |
状態を取得する別の
std::experimental::promise
|
例外
1,2)
(なし)