<br><br><div class="gmail_quote">On Thu, May 6, 2010 at 18:24, Ali Çehreli <span dir="ltr"><<a href="mailto:acehreli@yahoo.com">acehreli@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">Ali Çehreli wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
new to d wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Is there any function in phobos that does something like that:<br>
<br>
auto a = [[1,2],[3,4]];<br>
assert(equals(flatten(a), [1,2,3,4]));<br>
<br>
I am just learning D and ca't find anything like that in the docs.<br></blockquote></blockquote></div></div></blockquote><div><br>I've this in a dsource project:<br><br><a href="http://svn.dsource.org/projects/dranges/trunk/docs/range2.html">http://svn.dsource.org/projects/dranges/trunk/docs/range2.html</a> <br>
</div></div>(look for flatten or concat). It's a lazy range. Flatten depends on a template for wrapping code, present in the traits2 module.<br><br><a href="http://www.dsource.org/projects/dranges/browser/trunk/range2.d">http://www.dsource.org/projects/dranges/browser/trunk/range2.d</a><br>
<a href="http://www.dsource.org/projects/dranges/browser/trunk/traits2.d">http://www.dsource.org/projects/dranges/browser/trunk/traits2.d</a><br><br>Hmm, this is waiting for quite an update. I've lots of thing for producing/mapping/filtering... ranges of ranges while conserving their topology/rank.<br>
If you find anything useful for you in this project, tell me!<br><br><br>Philippe<br><br>