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

Reply via email to