需求描述
有一个外部可变模板参数的接口,比如C++20
的std::format
需要将其封装成比较便捷的操作符调用方式,比如
auto s = "{} {}" % T(a, b, c, ...);
如何实现?
需求分析
- 首先这里需要一个
T
的可变模板参数函数,返回结果是一个固定类型的对象,不如就用标准库的 std::tuple
吧
- 然后还需要重载
%
操作符
template<typename Tuple>
std::string operator%(std::string_view fmt, Tuple&& tpl)
如何实现
- 首先需要实现一个
T
函数
template<typename