跳转至

ev-spdlog-std-format-binding-003

字段 值
项目 gabime/spdlog
固定 commit 79524ddd08a4
路径 include/spdlog/common.h
行段 L145-L156
特性 std::format
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-26
测试代码 否
发现方式 manual

用法

在特性宏下把内部格式化命名空间指向 std,并别名 std::format_string

为什么典型

同一个库要同时支持 fmt 与 std::format;把 fmt_lib 切到 std 后,格式串类型仍由标准库做编译期检查。

摘录

#ifdef SPDLOG_USE_STD_FORMAT
namespace fmt_lib = std;

using string_view_t = std::string_view;
using memory_buf_t = std::string;

template <typename... Args>
#if __cpp_lib_format >= 202207L
using format_string_t = std::format_string<Args...>;
#else
using format_string_t = std::string_view;
#endif

备注

生产头文件;SPDLOG_USE_STD_FORMAT 打开时的类型绑定。

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