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
ассоциировал асинхронный результат.