On Tuesday, 3 November 2015 at 22:36:21 UTC, Ali Çehreli wrote:

That's fine. D's slices do that all the time: arr[0..3] and arr[3..$] seem to share index 3 but it is not the case: The first slice does not use it but the second one does.

Ok... great! This is what I worried about...

Aside: If 'begin' and 'end' are indexes into an actual array (of Ms? I forgot), perhaps you can keep slices instead:

struct P
{
     int id;
     alias id this;
     M[] ms;    // <--
}

It would be almost as efficient but larger: Altough you use two ints (total 8 bytes), a slice is 16 bytes on a 64-bit system: a pointer and a size_t.

Thats cool! Thank you very much!


Reply via email to