名前空間
変種
操作

std::experimental::promise<R>::promise (ライブラリ基礎 TS)

From cppreference.com
 
 
 
 
 
promise();
(1) (Library Fundamentals TS)
template< class Alloc >
promise( std::allocator_arg_t, const Alloc& alloc );
(2) (Library Fundamentals TS)
promise( promise&& other ) noexcept;
(3) (Library Fundamentals TS)
promise( const promise& other ) = delete;
(4) (Library Fundamentals TS)

std::experimental::promise オブジェクトを構築します。

1) デフォルトコンストラクタ。空の共有状態を持つプロミスを構築します。
2) 空の共有状態を持つプロミスを構築します。共有状態は alloc を使用して割り当てられます。これは、型消去されたアロケータとして扱われます(下記参照)。
3) ムーブコンストラクタ。ムーブセマンティクスを使用して、other の共有状態を持つプロミスを構築します。構築後、other は共有状態を持ちません。
4) std::experimental::promise はコピーできません。

[編集] 型消去アロケータ

アロケータ引数 alloc を取る promise のコンストラクタは、その引数を型消去されたアロケータとして扱います。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::allocator_traits<Alloc>::resource の特殊化
std::experimental::pmr::polymorphic_allocator
alloc.resource()
上記以外の Allocator 要件を満たす型 Aalloc の型である場合、std::experimental::pmr::resource_adaptor<A>(alloc) の値へのポインタ。このポインタは、promise オブジェクトの生存期間中のみ有効です。
上記以外の場合 プログラムは不正形式です。

[編集] パラメータ

alloc - 共有状態を割り当てるために使用されるアロケータ
その他 - 状態を取得する別の std::experimental::promise

[編集] 例外

1,2) (なし)
English 日本語 中文(简体) 中文(繁體)