如何解决fmtlib:没有解析选项的用户定义类型的快捷方式?
我正在使用 {fmt}
C++ 库。我为自己的类型编写了许多 fmt::formatter
特化。其中大多数没有格式选项,所以每个类都有一个 parse(format_parse_context)
的样板实现:
constexpr auto parse(format_parse_context& ctx)
{
auto it = ctx.begin(),end = ctx.end();
if (it != end && *it != '}')
throw format_error("invalid format");
return it;
}
我希望 fmt::formatter
有一个默认的 parse
实现,它没有任何选项,但它没有。这有什么捷径可走吗?类似于 fmt::optionless_formatter
类的东西?
解决方法
parse
的实现可以简单得多:
constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
您还可以通过继承或组合重用现有的 formatter
特化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。