std::experimental::promise<R>::promise (库基础 TS)

 
 
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
概念 (概念 TS)
范围 (范围 TS)
数学特殊函数 (特殊函数 TR)
 
 
 
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) 类型对象的指针,其中 Aalloc 的类型。指针仅在 promise 对象的生存期内保持合法。
非以上类型 程序为病式

参数

alloc - 用于分配共享状态的分配器
other - 取得其共享状态的另一 std::experimental::promise

异常

1-2) (无)