$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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