std::execution:: ensure_started
From cppreference.net
C++
Execution control library
|
|
Hinweis
Diese Utility soll aus P2300 entfernt und durch
async_scope
ersetzt werden.
|
|
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_startedzurü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).