Mercurial > projects > qtd
diff d2/qtd/Array.d @ 350:31520b2c0b3c
Removed dependency on parent trait and stringof
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Thu, 20 May 2010 15:49:08 +0300 |
parents | 96a75b1e5b26 |
children | 9784459f0750 |
line wrap: on
line diff
--- a/d2/qtd/Array.d Mon May 17 21:48:15 2010 +0300 +++ b/d2/qtd/Array.d Thu May 20 15:49:08 2010 +0300 @@ -35,3 +35,20 @@ } } } + +/** + Allocates a dynamic array at compile time. + */ +T[] newArray(T)(size_t len, T[] from = []) +{ + if (len == from.length) + return from; + + if (!from.length) + from = [T.init]; + + if (from.length < len) + return newArray!T(len, from ~ from); + + return from[0..len]; +} \ No newline at end of file