pub fn next(self: *Self) ?[]const T self: *Self3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197 pub fn next(self: *Self) ?[]const T {
const start = self.index orelse return null;
const next_index = start + self.advance;
const end = if (start + self.size < self.buffer.len) blk: {
self.index = if (next_index < self.buffer.len) next_index else null;
break :blk start + self.size;
} else blk: {
self.index = null;
break :blk self.buffer.len;
};
return self.buffer[start..end];
}
Returns a slice of the next window, or null if window is at end.