View source code
Display the source code in std/experimental/allocator/package.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function std.experimental.allocator.makeMultidimensionalArray

Allocates a multidimensional array of elements of type T.

auto makeMultidimensionalArray(T, Allocator, ulong N)();

Parameters

NameDescription
N number of dimensions
T element type of an element of the multidimensional arrat
alloc the allocator used for getting memory
lengths static array containing the size of each dimension

Returns

An N-dimensional array with individual elements of type T.

Example

import std.experimental.allocator.mallocator : Mallocator;

auto mArray = Mallocator.instance.makeMultidimensionalArray!int(2, 3, 6);

// deallocate when exiting scope
scope(exit)
{
    Mallocator.instance.disposeMultidimensionalArray(mArray);
}

writeln(mArray.length); // 2
foreach (lvl2Array; mArray)
{
    writeln(lvl2Array.length); // 3
    foreach (lvl3Array; lvl2Array)
        writeln(lvl3Array.length); // 6
}

Authors

Andrei Alexandrescu

License

Boost License 1.0.