std::experimental::promise<R>:: promise (library fundamentals TS)
From cppreference.net
<
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)
Конструктор перемещения. Создает 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)
(нет)