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