Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2006-09-14 04:00:10

"David Abrahams" wrote
> Joel de Guzman writes:
>> advance_iterator looks general enough.
> What *is* an 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 ...

Andy Little

Boost list run by bdawes at, gregod at, cpdaniel at, john at