我有我不拥有的图像,带有相邻的单色像素,我目前使用哑指针增量对其进行迭代。
我现在需要迭代 2D 区域,所以我正在考虑提供高效且易于编写的迭代器的最佳方法。
我只需要forward_iterator。如果我有一个 10x10 的图像,并且我想在 4x3 的左上角区域进行迭代,它将在这些元素上进行迭代:
0 1 2 3 10 11 12 13 20 21 22 23
我有两个选择:
- 用手写
boost::iterator_facade
- use
boost::range_iterator
,它给了我一个数组的迭代器,并修改它的行为boost::iterator_adaptor
你认为最好的是什么?