Jason Spencer Wrote: > If I want to avoid the copy, am I relegated back > to pointers?
you can make a thin wrapper that will work as a reference-type static array struct ReferenceArray!(ElementType, int columns, int rows) { ElementType[columns][rows]* back; this(byte[] data) { assert(data.length==ElementType.sizeof*columns*rows); back = cast(ElementType[columns][rows]*)data.ptr; } //will it be inlined? ElementType opIndex(int column, int row) { return (*back)[row][column]; } }