std.multidimarray

Dennis Ritchie via Digitalmars-d digitalmars-d at puremagic.com
Mon May 25 13:49:15 PDT 2015


On Monday, 25 May 2015 at 19:14:05 UTC, Vlad Levenfeld wrote:
> Cycle was tough. I was using T[2] to track slice boundaries but 
> had to retrofit the library with an Interval!(L,R) type to 
> admit the possibility of unbounded dimensions. This has 
> resulted in a fairly easy implementation for cycle, though. 
> https://github.com/evenex/autodata/blob/master/source/spaces/cyclic.d

Yes, it would be great to learn how to create recursive iterators 
for each subarray.

> Foreach is something I am still considering. It is 
> straightforward to define a range adaptor that traverses a 
> multidimensional array lexicographically, but another 
> interesting possibility is to define traversable multidim 
> arrays recursively, eg:
>
> 2d array = {1d row, 2d remainder}
>
> This is cool, as it may enable us to write generic traversals 
> for n-dim arrays and trees alike... However I have been 
> struggling to find a way to make such a thing work with foreach 
> cleanly.

That recursive n-dimensional array, but I think that recursion 
will not be effective.
http://forum.dlang.org/thread/ulhtlyxxclihaseefrot@forum.dlang.org#post-mihl6m:241che:241:40digitalmars.com


More information about the Digitalmars-d mailing list