On Tuesday, 7 July 2015 at 12:33:23 UTC, Per Nordlöw wrote:
On Tuesday, 7 July 2015 at 12:29:04 UTC, Rikki Cattermole wrote:
size_t count;
AVStream* thePtr;
AVStream[] array = thePtr[0 .. count];

That should work.

Thanks.

Will that reuse the existing allocate memory at `thePtr` for internal storage of the D array? If so how is the GC aware of this memory?

Is there any tutorials, reference documentation, etc on these matters?

To my knowledge it should reuse the memory and not inform the GC about it. It basically makes D treat that pointer like a slice.

If you need to confirm that it is doing that, just @nogc it. If it allocates it'll fail.

I'm not aware of much docs regarding these sort of tricks. But I believe it was Adam who originally discovered this little trick. Atleast I'm pretty sure he is how I learnt about it. On D.learn as well.

Reply via email to