import jaster.stream.memory : MemoryStreamGC; auto stream = new MemoryStreamGC(); stream.write([0, 1, 2, 3, 4, 5]); stream.position = 0; auto range = stream.byChunkGC(4); assert(!range.empty); assert(range.front == [0, 1, 2, 3]); range.popFront(); assert(!range.empty); assert(range.front == [4, 5]); range.popFront(); assert(range.empty);
Variation of byChunkAlloc that uses a GC allocated array, and doesn't use ref counting.