Skip to main content

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}