STL迭代器包装器

问题描述

| 我想为STL迭代器编写包装器。 它应该只更改某些方法的行为... 我看到像这样的东西:
template<***>
class custom_iterator : public ***
{
    T & iter;

public:
    custom_iterator(T & iter) : iter(iter) {}

    // for example,behavIoUr that increments value
    T_val operator * () { return (*iter)+1; } 
};
如何为所有类型的迭代器制作它?我的意思是: 输入迭代器 输出迭代器 正向迭代器 双向迭代器 随机访问迭代器 怎么可能?     

解决方法

        看一下
boost::transform_iterator
。我认为这就是您要达到的目标。 源代码