Namespaces
Variants

std::experimental::promise<R>:: promise (library fundamentals TS)

From cppreference.net
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) Конструктор перемещения. Создает promise с общим состоянием 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 .
Ни один из вышеперечисленных Программа имеет некорректную форму.

Параметры

alloc - аллокатор, используемый для выделения разделяемого состояния
other - другой std::experimental::promise для получения состояния

Исключения

1,2) (нет)