Namespaces
Variants

std::execution:: ensure_started

From cppreference.net
定义于头文件 <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 )。