如何解决理解 fmt formatter 解析函数
我正在尝试在 parse 函数下为 fmt 中的自定义类型创建格式化程序。在他们的文档 (https://fmt.dev/dev/api.html) 中,这一行具有某种我以前从未见过的循环结构:
auto it = ctx.begin(),end = ctx.end();
if (it != end && (*it == 'f' || *it == 'e')) presentation = *it++;
这显然是一个使用迭代器的循环,大概是 C++17 中的新东西。它是什么?完整示例:https://godbolt.org/z/fEGvaj
解决方法
formatter::parse
函数采用解析上下文 ctx
并检查范围 [ctx.begin(),ctx.end())
在此示例中是否包含格式说明符 f
或 e
。
if (it != end && (*it == 'f' || *it == 'e')) presentation = *it++;
^ ^ ^
check if the check if the first
range is empty character is 'f' or 'e'
这里没有什么特别新奇的,这段代码兼容C++98。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。