跳转至

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 校验。

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