auto matrix3x4 = multidimArray!int(3, 4); auto transposed = matrix3x4.reorderIndices(1, 0); assert(transposed.lengths == [4, 3]); assert(&matrix3x4[2, 3] == &transposed[3, 2]);
auto a = multidimArray!int(2, 3, 4); auto b = a.reorderIndices(2, 0, 1); assert(b.lengths == [4, 2, 3]); assert(&a[1, 2, 3] == &b[3, 1, 2]);
Creates a slice of this entire array with reordered indices. newOrder[i] = n means that i-th index of a resulting array will behave like n-th index of the original array. Every index sould be used once, otherwise an Exception will be thrown.