oxilean_kernel/builtin/windowiterator_traits.rs
1//! # WindowIterator - Trait Implementations
2//!
3//! This module contains trait implementations for `WindowIterator`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Iterator`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::types::WindowIterator;
12
13impl<'a, T> Iterator for WindowIterator<'a, T> {
14 type Item = &'a [T];
15 fn next(&mut self) -> Option<Self::Item> {
16 if self.pos + self.window > self.data.len() {
17 return None;
18 }
19 let slice = &self.data[self.pos..self.pos + self.window];
20 self.pos += 1;
21 Some(slice)
22 }
23}