Testing array ptr for offset 0...
Kagamin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri May 27 03:54:03 PDT 2016
On Thursday, 26 May 2016 at 21:13:14 UTC, Era Scarecrow wrote:
> To do what I want currently it's something like...
>
> enum Size = 1024, Other = 128;
> Data[Size][Other] staticarray; //stack allocation
> Data[][] sliced = staticarray[];
> scan(sliced, condition);
>
> void scan(ref Data[][] data, Condition cond) {
> int lengths[Size];
>
> foreach(i; ...) {
> if (cond)
> data[i][lengths[i]++] = ...
> }
>
> //cleanup/shrink
> foreach(i, l; lengths)
> data[i] = data[i][0 .. l];
> }
Like this:
static void rawlength(ref Data[] r, size_t len) {
r = r.ptr[0..len];
}
void scan(ref Data[][] data, Condition cond) {
foreach(i; ...) {
if (cond)
data[i].rawlength = ...
}
}
More information about the Digitalmars-d-learn
mailing list