std::execution:: ensure_started
From cppreference.net
C++
Execution control library
|
|
注意
此工具计划从 P2300 中移除,并由
async_scope
替代。
|
|
定义于头文件
<execution>
|
||
|
execution
::
sender
auto
ensure_started
(
execution
::
sender
auto
sender
)
;
|
(C++26 起) | |
参数
| sender | - |
输入发送方,其停止通道被映射到
err
|
返回值
返回一个发送器,当提供的 sender 完成时,该发送器也随之完成,并发送与所提供 sender 等效的值。
注释
-
一旦
ensure_started返回,即可确认提供的 sender 已完成连接,并且已在生成的操作状态上调用 start。换言之,由提供的 sender 描述的工作已提交至相应执行资源开始执行。
- 如果返回的发送方在调用 execution::connect() 之前被销毁,或者调用了 execution::connect() 但返回的操作状态在调用 execution::start() 之前被销毁,则会向急切启动的操作发送停止请求,该操作将被分离并在后台运行至完成。
- 在此情况下,该操作的结果将在最终完成时被丢弃。
- 请注意,应用程序需要确保在操作分离的情况下资源保持活动状态(例如,通过持有这些资源的 std::shared_ptr )。