Namespaces
Variants

std::execution:: ensure_started

From cppreference.net
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_started retourne, 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).