
On 05/06/2015 04:01 PM, Brian Smith wrote:
On 5/6/15, Peter Dimov
wrote: Currently, creating a multidimensional boost/std::array is a bit unwieldy:
array
, 4>, 3> a; // int a[3][4][5] a[2][3][4] = 5; As a first step, we should consider enabling the element type T of array
N> to be an array type.
array
a; // int a[3][4][5] a[2][3][4] = 5; This almost works already, except for the array interface functions specified and implemented in terms of, say, std::equal or std::fill.
It is an open question whether these standard algorithms should not be fixed
themselves to work on array types, as swap_ranges has been, but for now, we
can implement the array functions in a way that works.
Opinions on that part?
If we agree that this is a good idea, the next logical step would be to eliminate the special handling of the first extent and simply allow
array
a; // int a[3][4][5] a[2][3][4] = 5; There's a multidimensional array submitted for review at https://github.com/BrianJSmith/Array. The syntax is array
, iteration is over each dimension, if that would suit your needs.
Brian
+1 I'm curious about this also. Larry