跳转至

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。

查看固定 commit 源码 · 返回证据索引