std::experimental::promise<R>::promise (库基础 TS)
来自cppreference.com
< 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
的共享状态的 promise
。构造后, other
无共享状态。4)
std::experimental::promise
不可复制。类型擦除的分配器
promise
的接收分配器参数 alloc
的构造函数将参数当做类型擦除的分配器。以分配器参数(若指定)确定 promise
用来分配内存的 memory_resource 指针,如下:
alloc 的类型
|
memory_resource 指针的值 |
不存在(构造时不指定分配器) | 构造时 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 对象的生存期内保持合法。
|
非以上类型 | 程序为病式 |
参数
alloc | - | 用于分配共享状态的分配器 |
other | - | 取得其共享状态的另一 std::experimental::promise
|
异常
1-2) (无)