ev-drogon-integer-sequence-tasks-003¶
| 字段 | 值 |
|---|---|
| 项目 | drogonframework/drogon |
| 固定 commit | 3aae769cc405 |
| 路径 | lib/inc/drogon/utils/coroutine.h |
| 行段 | L887-L892 |
| 特性 | std::integer_sequence |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-11-03 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
用 index_sequence_for 展开一组异步任务并逐个启动
为什么典型¶
并行等待多个任务时,每个任务需要一个编译期下标来访问 tuple 成员;index_sequence_for 从 Tasks... 推导下标包,展开成对 launch_task
摘录¶
template <size_t... Is>
void await_suspend_impl(std::coroutine_handle<> handle,
std::index_sequence<Is...>)
{
((launch_task<Is>(handle)), ...);
}
备注¶
生产头文件;调用点传入 index_sequence_for