std::execution::ensure_started
來自 cppreference.com
定義於標頭檔案 <execution> |
||
execution::sender auto ensure_started( execution::sender auto sender ); |
(C++26 起) | |
[編輯] 引數
傳送器 | - | 輸入傳送器,其停止通道被對映到 err |
[編輯] 返回值
返回一個傳送器,當提供的 sender 完成時,該傳送器也完成,併發送與提供的 sender 等效的值。
[編輯] 注意
- 一旦
ensure_started
返回,就知道提供的 sender 已經連線,並且已對生成的操作狀態呼叫了 start。換句話說,提供的 sender 描述的工作已提交給適當的執行資源進行執行。
- 如果在呼叫 execution::connect() 之前銷燬返回的傳送器,或者如果呼叫了 execution::connect() 但在呼叫 execution::start() 之前銷燬了返回的操作狀態,則會向急切啟動的操作傳送停止請求,操作將被分離並在後臺執行直至完成。
- 在這種情況下,操作的結果在最終完成後將被丟棄。
- 請注意,如果操作分離(例如透過持有這些資源的 std::shared_ptr),應用程式將需要確保資源保持活動狀態。