On Mon, 28 Feb 2011 19:51:28 +0300, Lars Holowko <lars.holo...@gmail.com>
wrote:
Hi
I am trying to implement a D2 function that has this C signature (it
gets called from a C module and I cannot change the caller):
extern(C) read_into(char *buffer, size_t buf_len);
I would like to use D's vector (or array-wise according to TDPL)
operations on buffer but I cannot find a way, how I could initialize a
(static?) D array and tell it to use buffer as its memory. Obviously I
don't want to copy buffer in a regular D array to be able to do the
manipulations and than having to copy everything back into buffer.
Is there any way to get this accomplished?
Thanks,
Lars
Here you go:
auto arr = buffer[0..buf_len];
Now you can operate on this array however you like. E.g.
arr[] = 0; // initialize with zeros