
"David Abrahams" wrote
Joel de Guzman writes:
advance_iterator looks general enough.
What *is* an advance_iterator?
FWIW: fusion::advance_iterator< Sequence, // the sequence to advance over Stride, // number of positions in underlying //sequence to move on 'next' StridedPosition, // underlying sequence::position * // Stride + Offset Offset // offset in underlying sequence units
The main use is to return a column in a linear sequence representing a matrix. Also consider : sequence seq; advance_iterator<sequence,..> i1(seq); advance_iterator<sequence,..> i2(seq); iterator_range<i1_type,i2_type> range(i1,i2);: advance_iterator<range, ..> j1(range); advance_iterator<range, ..> j2(range); iterator_range<j1_type,j2_type> range_on_range (j1,j2); etc ... regards Andy Little