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 打开时的类型绑定。