On Wednesday, 20 July 2016 at 08:30:37 UTC, Mike Parker wrote:


representation does not allocate any new memory. It points to the same memory, same data. If we think of D arrays as something like this:

struct Array(T) {
    size_t len;
    T* ptr;
}

Then representation is doing this:

Array original;
Array representation(original.len, original.ptr);

So, yes, the char data will still be shuffled in place. All you're doing is getting a ubyte view onto it so that it can be treated as a range.

Thank you for the very useful information. I really appreciate taking the time to explain
these, maybe trivial, things to me.

I confirmed the behavior with a test. working as expected.

Reply via email to