std::experimental::promise<R>::promise (庫基礎 TS)
來自 cppreference.com
< cpp | experimental | lib 擴充套件 | 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 共享狀態的 promise。構造後,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() |
| 滿足 分配器 要求的任何其他型別 | 指向型別為 std::experimental::pmr::resource_adaptor<A>(alloc) 的值的指標,其中 A 是 alloc 的型別。該指標僅在 promise 物件的生命週期內有效。 |
| 以上都不是 | 程式格式錯誤。 |
[編輯] 引數
| alloc | - | 用於分配共享狀態的分配器 |
| 其他 | - | 另一個 std::experimental::promise,用於獲取狀態 |
[編輯] 異常
1,2) (無)