promise& operator=(promise&&) noexcept;
template
promise(std::allocator_arg_t, Allocator const&);
promise(promise const&) = delete;
promise& operator=(promise const&) = delete;
void swap(promise&) noexcept;
std::future
void set_value(see description);
void set_exception(std::exception_ptr p);
};
STD::PROMISE
Конструирует объект std::promise
promise();
Конструирует экземпляр std::promise
ResultType
.Исключение типа std::bad_alloc
STD::PROMISE
Конструирует экземпляр std::promise, применяя предоставленный распределитель для выделения памяти под ассоциированный асинхронный результат.
template
promise(std::allocator_arg_t, Allocator const& alloc);
Конструирует экземпляр std::promise
ResultType
. Память под асинхронный результат выделяется с помощью распределителя alloc
.Любое исключение, возбуждаемое распределителем в случае неудачной попытки выделить память под асинхронный результат.
STD::PROMISE
Конструирует один объект std::promise
other
вновь сконструированному.promise(promise&& other) noexcept;
Конструирует новый экземпляр std::promise
Асинхронный результат, который был ассоциирован с объектом other
std::promise
. С объектом other
больше не ассоциирован никакой асинхронный результат.Нет.
STD::PROMISE
Передает владение асинхронным результатом, ассоциированным с объектом std::promise
promise& operator=(promise&& other) noexcept;
Передает владение асинхронным результатом, ассоциированным с *this
*this
уже был ассоциирован асинхронный результат, то результат становится std::future_error
с кодом ошибки std::future_errc::broken_promise
.Асинхронный результат, который был ассоциирован с объектом other
*this
. С объектом other
больше не ассоциирован никакой асинхронный результат.*this
Нет.
STD::PROMISE::SWAP
Обменивает владение асинхронными результатами, ассоциированными с двумя объектами std::promise
void swap(promise& other);
Обменивает владение асинхронными результатами, ассоциированными с объектами other
*this
.Асинхронный результат, который был ассоциирован с объектом other
swap
(если таковой действительно был), ассоциируется с *this
. Асинхронный результат, который был ассоциирован с объектом *this
до вызова swap
(если таковой действительно был), ассоциируется с other
.Нет.
STD::PROMISE
Уничтожает объект std::promise
~promise();
Результат
Уничтожает *this
*this
ассоциирован асинхронный результат и в этом результате не хранится задача или исключение, то результат становится std::future_error
с кодом ошибки std::future_errc::broken_promise
.Нет.
STD::PROMISE::GET_FUTURE
Извлекает экземпляр std::future
*this
.std::future
С *this