我有我想传递给一个函数值序列,需要一个(迭代器开始,结束迭代器)对。不过,我只希望要处理原来的顺序每隔第二个元素。
I have a sequence of values that I'd like to pass to a function that takes a (iterator begin, iterator end) pair. However, I only want every second element in the original sequence to be processed.
有没有使用标准 - 库/升压创建一个迭代器的外观,让我原来的顺序传递一个很好的方式?我想简单的东西像这样应该已经在升压或迭代器范围内库,但我没有发现任何东西。
Is there a nice way using Standard-Lib/Boost to create an iterator facade that will allow me to pass in the original sequence? I figured something simple like this would already be in the boost iterators or range libraries, but I didn't find anything.
还是我失去了另一种完全明显的方式做到这一点?当然,我知道我一直都复制值到另一个序列的选择,但是这不是我想做的事情。
Or am I missing another completely obvious way to do this? Of course, I know I always have the option of copying the values to another sequence, but that's not what I want to do.
编辑:我知道 filter_iterator ,但过滤价值观 - 它不会改变的方式迭代进步
I know about filter_iterator, but that filters on values - it doesn't change the way the iteration advances.
推荐答案我想你想的的boost ::适配器::跨入
更多推荐
跳过迭代器
发布评论