element type of the array being created
the allocator used for getting memory
range used for initializing the array elements
The newly-created array, or null if either length was 0 or allocation failed.
The first two overloads throw only if alloc's primitives do. The overloads that involve copy initialization deallocate memory and propagate the exception if the copy operation throws.
static void test(T)() { T[] a = theAllocator.makeArray!T(2); assert(cast(int[])a == [0, 0]); a = theAllocator.makeArray!T(3, 42); assert(cast(int[])a == [42, 42, 42]); import std.range : only; a = theAllocator.makeArray!T(only(42, 43, 44)); assert(cast(int[])a == [42, 43, 44]); } test!int(); test!(shared int)(); test!(const int)(); test!(immutable int)();
Create an array of T with length elements using alloc. The array is either default-initialized, filled with copies of init, or initialized with values fetched from range.