c++ - 将迭代器 <A> 转换/映射到迭代器 <B>

标签 c++ c++11 iterator

假设有一个函数取iterator<B>我有一些(可迭代的)集合 A s。

void external_function(iterator<B> bit);

此外,我有一个函数可以转换 A发送至B s。

B transform(A& a) { ... };

我想要某种包装迭代器,它可以迭代所有 A s 并给出 B改为 s。

iterator<B> transform(iterator<A> ait, UnaryOperator transformer);

boost中有一些函数可以做到这一点吗?还是我必须自己写?

最佳答案

Boost有boost::transform_iterator ;我想这就是您正在寻找的。

关于c++ - 将迭代器 <A> 转换/映射到迭代器 <B>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28339692/

相关文章:

rust - 实现返回HashMap::IntoIter的IntoIterator时的“wrong number of type arguments”

c++ - 在构建我们的源代码之前,如何使用 cmake 检查某些库是否存在?

c++ - 使用 auto 作为迭代器

python - 任何可迭代对象的值(而不是键)的通用迭代器

c++ - 如何创建模板参数为 std::vector 时使用的此方法的模板版本

c++11 - C++ atomic 用于指向用户定义对象的指针

python - 想要在 X 和 O 之间交替

c++ - 数据库访问对象设计模式

C++随机cout语句导致程序在重载的 '='运算符内崩溃

c++ - 无法在 MinGW Installation Manager 中安装软件包