Namespaces
Variants

std::execution:: ensure_started

From cppreference.net
Definiert im Header <execution>
execution :: sender auto ensure_started ( execution :: sender auto sender ) ;
(seit C++26)

Parameter

Sender - Eingabesender, dessen gestoppter Kanal in err abgebildet wird

Rückgabewert

Gibt einen Sender zurück, der abschließt, wenn der bereitgestellte sender abschließt und Werte sendet, die denen des bereitgestellten sender entsprechen.

Hinweise

  • Sobald ensure_started zurückkehrt, ist bekannt, dass der bereitgestellte sender verbunden wurde und start auf dem resultierenden Operationszustand aufgerufen wurde. Mit anderen Worten, die durch den bereitgestellten sender beschriebene Arbeit wurde zur Ausführung auf den entsprechenden Ausführungsressourcen übermittelt.
  • Wenn der zurückgegebene Sender zerstört wird, bevor execution::connect() aufgerufen wird, oder wenn execution::connect() aufgerufen wird, aber der zurückgegebene Operation-State zerstört wird, bevor execution::start() aufgerufen wird, dann wird eine Stop-Anforderung an die eifrig gestartete Operation gesendet und die Operation wird abgekoppelt und im Hintergrund bis zum Abschluss ausgeführt.
  • In einem solchen Fall wird das Ergebnis des Vorgangs verworfen, wenn es schließlich abgeschlossen ist.
  • Beachten Sie, dass die Anwendung sicherstellen muss, dass Ressourcen am Leben gehalten werden, falls der Vorgang sich abkoppelt (z.B. durch Halten eines std::shared_ptr auf diese Ressourcen).