std::execution::ensure_started
Определён в заголовочном файле <execution> | ||
|---|---|---|
execution::sender auto ensure_started( execution::sender auto sender ); | (начиная с C++26) |
Параметры
| sender | - | входной отправитель, канал остановки которого преобразуется в err |
Возвращаемое значение
Возвращает отправитель, который завершается после завершения предоставленного sender и передаёт значения, эквивалентные значениям предоставленного sender.
Примечания
- После возврата
ensure_startedизвестно, что предоставленныйsenderбыл подключён и для полученного состояния операции была вызвана функция start. Другими словами, работа, описанная предоставленнымsender, была отправлена на выполнение соответствующим вычислительным ресурсам. - Если возвращённый отправитель уничтожается до вызова
execution::connect()либо еслиexecution::connect()вызывается, но возвращённое состояние операции уничтожается до вызоваexecution::start(), то запущенной заранее операции отправляется запрос остановки, операция отсоединяется и выполняется до завершения в фоновом режиме. - В этом случае результат операции будет отброшен после её завершения.
- Обратите внимание, что в случае отсоединения операции приложение должно обеспечить сохранность ресурсов (например, удерживая
std::shared_ptrэтих ресурсов).
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/execution/ensure_started