命名空间
变体
操作

std::execution::ensure_started

来自 cppreference.com
< cpp‎ | execution
 
 
 
定义在头文件 <execution>
execution::sender auto ensure_started( execution::sender auto sender );
(自 C++26 起)

[编辑] 参数

发送器 - 输入发送器,其停止通道映射到 err

[编辑] 返回值

返回一个发送器,当提供的 sender 完成并发送等效于提供的 sender 的值时,该发送器完成。

[编辑] 注释

  • 一旦 ensure_started 返回,就已知提供的 sender 已连接,并且已在生成的 operation state 上调用 start。换句话说,提供的 sender 所描述的工作已提交到相应的执行资源上执行。
  • 如果返回的发送器在调用 execution::connect() 之前被销毁,或者如果调用了 execution::connect() 但返回的 operation-state 在调用 execution::start() 之前被销毁,那么将向急切启动的操作发送停止请求,并且操作将被分离,并将在后台运行至完成。
  • 在这种情况下,操作的结果将在最终完成时被丢弃。
  • 请注意,应用程序需要确保在操作分离的情况下资源保持活动状态(例如,通过持有对这些资源的 std::shared_ptr)。