ev-drogon-traits-conditional-awaitable-002¶
| 字段 | 值 |
|---|---|
| 项目 | drogonframework/drogon |
| 固定 commit | 3aae769cc405 |
| 路径 | lib/inc/drogon/utils/coroutine.h |
| 行段 | L58-L60 |
| 特性 | 类型特征(type_traits) |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-11-03 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
用 conditional 与 is_same 把 void 映射成 false_type
为什么典型¶
协程结果类型为 void 时不能作为条件判断,模板用 conditional_t 在编译期把 void 替换成 false_type,其余类型原样保留。
摘录¶
template <typename T>
using void_to_false_t =
std::conditional_t<std::is_same_v<T, void>, std::false_type, T>;
备注¶
生产头文件;类型别名把选择逻辑收敛到一个名字,调用方无需重复写 conditional。