问题描述
|
我想为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
。我认为这就是您要达到的目标。
源代码