| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Public 属性 | 所有成员列表
rm::async::TaskAwaiter< Tp > 模板结构体 参考
数据 IO 与通信模块

协程任务等待器 更多...

`#include <rmvl/io/async.hpp>`

rm::async::TaskAwaiter< Tp > 的协作图:

## Public 类型
using | handle_t = std::coroutine_handle<Promise<Tp>>

## Public 成员函数
bool | await_ready () const noexcept
handle_t | await_suspend (std::coroutine_handle<> handle) noexcept
Tp | await_resume () noexcept

## Public 属性
handle_t | self {}

## 详细描述

template<typename Tp>
struct rm::async::TaskAwaiter< Tp >

协程任务等待器

// 使用示例
Task<int> f();
Task<> g() {
int val = co_await f();
// ...
co_return;
}
rm::async::Task
保有 rm::async::Promise 的异步协程任务
定义 async.hpp:146

## 成员类型定义说明

## ◆ handle_t

template<typename Tp>

using rm::async::TaskAwaiter< Tp >::handle_t = std::coroutine_handle<Promise<Tp>>

## 成员函数说明

## ◆ await_ready()

template<typename Tp>

bool rm::async::TaskAwaiter< Tp >::await_ready | ( |  | ) | const
| inline noexcept

## ◆ await_resume()

template<typename Tp>

Tp rm::async::TaskAwaiter< Tp >::await_resume | ( |  | ) |
| inline noexcept

## ◆ await_suspend()

template<typename Tp>

handle_t rm::async::TaskAwaiter< Tp >::await_suspend | ( | std::coroutine_handle<> | handle | ) |
| inline noexcept

## 类成员变量说明

## ◆ self

template<typename Tp>

handle_t rm::async::TaskAwaiter< Tp >::self {}