std::execution:: ensure_started
From cppreference.net
C++
Execution control library
|
|
Примечание
Данная утилита планируется к удалению из P2300 и замене на
async_scope
.
|
|
Определено в заголовке
<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() , то запрос на остановку отправляется eagerly запущенной операции, операция отсоединяется и будет завершаться в фоновом режиме.
- В таком случае результат операции будет отброшен после её окончательного завершения.
- Обратите внимание, что приложению необходимо обеспечить сохранение ресурсов активными в случае, если операция отсоединяется (например, путем удержания std::shared_ptr на эти ресурсы).