std::coroutine_handle<Promise>::coroutine_handle

来自cppreference.com
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
协程支持
协程特征
协程柄
无操作协程
平凡可等待体
 
 
constexpr coroutine_handle() noexcept;
(1) (C++20 起)
constexpr coroutine_handle( std::nullptr_t ) noexcept;
(2) (C++20 起)
coroutine_handle( const coroutine_handle& other ) = default;
(3) (C++20 起)
coroutine_handle( coroutine_handle&& other ) = default;
(4) (C++20 起)

创建不指代协程的 coroutine_handle ,或复制 coroutine_handle

1-2) 初始化底层地址为 nullptr 。构造后, address() 返回 nullptr ,而该 coroutine_handle 不指代协程。这些构造函数不对特化 std::coroutine_handle<std::noop_coroutine_promise> 声明。
3-4) 复制底层地址。复制构造函数与移动构造函数等价于被隐式声明。

参数

other - 要复制的另一 coroutine_handle

注解

std::coroutine_handle<std::noop_coroutine_promise> 不可默认构造,亦不可从 std::nullptr_t 构造。 std::noop_coroutine 能用于创建新的 std::coroutine_handle<std::noop_coroutine_promise>

静态成员函数 from_promisefrom_address 亦能创建 coroutine_handle

参阅

[静态] (C++20)
从协程的承诺对象创建 coroutine_handle
(公开静态成员函数)
[静态] (C++20)
从指针导入协程
(公开静态成员函数)
创建在等待或销毁时无可观察作用的协程柄
(函数)