|
Boost : |
From: Toon Knapen (toon_at_[hidden])
Date: 2001-03-27 04:29:29
Jeremy Siek wrote:
>
> One possibility I'm looking at starts with the std::slice from valarray,
> but allows them to be combined to specify slices for N dimensions.
>
> A[slice(0)(1,2)(2,3)] // slices here are (start,size=1,stride=1)
> // another sensible option would be to
> // specify slices with half-open intervals
> // (start,finish,stride)
>
> If anyone has any good ideas on a nice interface for specifying subarrays,
> feel free to chime in :)
It appears to me that the discussion is mostly concentrated on
strided subarrays and strided slices. But I would prefer
to have minimal distinction between this type of functionality
and 'indirect addressing' where the indexes in all dimensions
can be totally irregular (cfr. cartesian-product indirection
of Blitz)
This could be supported by means of a begin and end iterator
for every dimension : e.g.
A[begin_row_index, end_row_index][begin_col_index, end_col_index]
toon
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk