C++ 20 把 ranges standardize 之后看似有了一种很 fancy 很 fp-style 的实现算法的方式,但是这套东西坑也不少。
这篇 post 的主要内容来自 CppCon 2023 | Back to Basics: Iterators in C++ - Nicolai Josuttis,但是只总结 views/filter 贼坑的点。
之前用 fmt 格式化 custom types 的时候只知道特化的那个方法,并且因为需要写两个函数而且返回类型不容易记忆所以每次都是找个模板抄…
这次花了点时间完整看了一下 fmt 的 official doc,才发现其实有很多额外的方法不说,之前用特化的那个方式也不太对。