ev-fmt-if-constexpr-pack-guard-001¶
| 字段 | 值 |
|---|---|
| 项目 | fmtlib/fmt |
| 固定 commit | 1be298e1bd68 |
| 路径 | include/fmt/compile.h |
| 行段 | L99-L107 |
| 特性 | if constexpr |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-24 |
| 测试代码 | 否 |
| 发现方式 | tree-sitter |
用法¶
参数包为空时跳过递归查找
为什么典型¶
用依赖模板参数的条件保护变参递归的终止路径,是 if constexpr 的典型用途。
摘录¶
template <typename... Args, typename Char>
FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
# if FMT_USE_NONTYPE_TEMPLATE_ARGS
if constexpr (sizeof...(Args) > 0)
return get_arg_index_by_name<0, Args...>(name);
# endif
(void)name;
return -1;
}
备注¶
生产路径;固定 commit 已由 tools/validate.py --check-corpus 校验。