std::execution::ensure_started
来自 cppreference.cn
定义于头文件 <execution> |
||
execution::sender auto ensure_started( execution::sender auto sender ); |
(since C++26) | |
[编辑] 参数
sender | - | 输入发送器,其停止通道映射到 err |
[编辑] 返回值
返回一个发送器,当提供的 sender 完成时完成,并发送等同于提供的 sender 的值。
[编辑] 注释
- 一旦
ensure_started
返回,已知提供的 sender 已被连接,并且已在结果操作状态上调用 start。换句话说,由提供的 sender 描述的工作已提交到适当的执行资源上执行。
- 如果返回的发送器在调用 execution::connect() 之前被销毁,或者如果调用了 execution::connect() 但返回的操作状态在调用 execution::start() 之前被销毁,则会向急切启动的操作发送停止请求,并且该操作将被分离并在后台运行完成。
- 在这种情况下,操作的结果将在最终完成时被丢弃。
- 请注意,应用程序需要确保在操作分离的情况下资源保持活动状态(例如,通过持有指向这些资源的 std::shared_ptr)。