转换/映射迭代器<A>到迭代器<B>

Transform/map iterator<A> to iterator<B>

本文关键字:gt lt 迭代器 转换 映射      更新时间:2023-10-16

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

void external_function(iterator<B> bit);

此外,我还有一个将A s转换为B s的功能。

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

我想要某种包装迭代器,它在所有As上进行迭代,并给出Bs。

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

boost中有什么功能可以做到这一点吗?还是我必须自己写?

Boost具有Boost::transform_iterator;我想这就是你要找的。