std::execution::ensure_started
Von cppreference.com
| Definiert in Header <execution> |
||
| execution::sender auto ensure_started( execution::sender auto sender ); |
(seit C++26) | |
[bearbeiten] Parameter
| sender | - | Eingabe-Sender, dessen gestoppter Kanal in err abgebildet wird |
[bearbeiten] Rückgabewert
Gibt einen Sender zurück, der abgeschlossen wird, wenn der bereitgestellte Sender abgeschlossen ist, und Werte sendet, die mit denen des bereitgestellten Senders äquivalent sind.
[bearbeiten] Hinweise
- Sobald
ensure_startedzurückgegeben wird, ist bekannt, dass der bereitgestellte Sender verbunden wurde undstartfür den 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 Operationszustand zerstört wird, bevor execution::start() aufgerufen wird, dann wird eine Stopp-Anforderung an die eilig gestartete Operation gesendet und die Operation wird abgekoppelt und läuft im Hintergrund bis zum Abschluss.
- In diesem Fall wird das Ergebnis der Operation verworfen, wenn es schließlich abgeschlossen ist.
- Beachten Sie, dass die Anwendung sicherstellen muss, dass Ressourcen am Leben gehalten werden, falls die Operation abgekoppelt wird (z. B. durch Halten eines std::shared_ptr zu diesen Ressourcen).