Поделиться через


метод promise::set_value

Неделимым блоком, сохраняет значение в результате объекта promise и задает связанных асинхронное состояниедля подготовки.

void promise::set_value(const Ty& Val);
void promise::set_value(Ty&& Val);
void promise<Ty&>::set_value(Ty& Val);
void promise<void>::set_value();

Параметры

  • Val
    Значение, которое будет сохранен как результат.

Заметки

Если объект promise не имеет связанного с ним асинхронное состояние, этот метод создает исключение future_error, содержащий код ошибки no_state.

Если set_exception, set_exception_at_thread_exit, set_value_at_thread_exit или set_value уже были вызваны для объекта promise, который имеет то же связанных асинхронное состояние, этот метод создает исключение future_error, содержащий код ошибки promise_already_satisfied.

В результате этого метода, все потоки, блокируются на связанном состоянии асинхронном будут разблокированными.

Этот метод также вызывает любое исключение, которое вызывается, когда Val копируется в связанных асинхронное состояние.В этом случае связанных асинхронное состояние не задано для подготовки.

Второй метод также создает любое исключение, которое вызывается, когда Val перемещается в связанных асинхронное состояние.В этом случае связанных асинхронное состояние не задано для подготовки.

Для частично специализации promise<Ty&>, хранящийся в результате значение ссылки на Val.

Для специализации promise<void>, не существует, хранящееся значение не существует.

Требования

Возможные Заголовок:

Пространство имен: std

См. также

Ссылки

promise Class

<future>