std::execution:: ensure_started
From cppreference.net
C++
Execution control library
|
|
Note
Cette utilitaire est prévue d'être supprimée de P2300 et remplacée par
async_scope
.
|
|
Défini dans l'en-tête
<execution>
|
||
|
execution
::
sender
auto
ensure_started
(
execution
::
sender
auto
sender
)
;
|
(depuis C++26) | |
Paramètres
| sender | - |
expéditeur d'entrée dont le canal arrêté est mappé dans
err
|
Valeur de retour
Retourne un expéditeur qui se termine lorsque l'expéditeur fourni sender se termine et envoie des valeurs équivalentes à celles de l'expéditeur fourni sender .
Notes
-
Une fois que
ensure_startedretourne, il est établi que le sender fourni a été connecté et que start a été appelé sur l'état d'opération résultant. En d'autres termes, le travail décrit par le sender fourni a été soumis pour exécution sur les ressources d'exécution appropriées.
- Si l'expéditeur retourné est détruit avant que execution::connect() soit appelé, ou si execution::connect() est appelé mais que l'état d'opération retourné est détruit avant que execution::start() soit appelé, alors une demande d'arrêt est envoyée à l'opération lancée avec empressement et l'opération est détachée et s'exécutera jusqu'à son terme en arrière-plan.
- Dans un tel cas, le résultat de l'opération sera ignoré lorsqu'il sera finalement terminé.
- Notez que l'application devra s'assurer que les ressources restent actives dans le cas où l'opération se détache (par exemple en conservant un std::shared_ptr vers ces ressources).