diff options
Diffstat (limited to 'filetreelist/src/treeitems_iter.rs')
-rw-r--r-- | filetreelist/src/treeitems_iter.rs | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/filetreelist/src/treeitems_iter.rs b/filetreelist/src/treeitems_iter.rs index 7ca187a1..4feeb3e8 100644 --- a/filetreelist/src/treeitems_iter.rs +++ b/filetreelist/src/treeitems_iter.rs @@ -1,60 +1,60 @@ use crate::{filetreeitems::FileTreeItems, item::FileTreeItem}; pub struct TreeItemsIterator<'a> { - tree: &'a FileTreeItems, - index: usize, - increments: Option<usize>, - max_amount: usize, + tree: &'a FileTreeItems, + index: usize, + increments: Option<usize>, + max_amount: usize, } impl<'a> TreeItemsIterator<'a> { - pub const fn new( - tree: &'a FileTreeItems, - start: usize, - max_amount: usize, - ) -> Self { - TreeItemsIterator { - max_amount, - increments: None, - index: start, - tree, - } - } + pub const fn new( + tree: &'a FileTreeItems, + start: usize, + max_amount: usize, + ) -> Self { + TreeItemsIterator { + max_amount, + increments: None, + index: start, + tree, + } + } } impl<'a> Iterator for TreeItemsIterator<'a> { - type Item = (usize, &'a FileTreeItem); + type Item = (usize, &'a FileTreeItem); - fn next(&mut self) -> Option<Self::Item> { - if self.increments.unwrap_or_default() < self.max_amount { - let items = &self.tree.tree_items; + fn next(&mut self) -> Option<Self::Item> { + if self.increments.unwrap_or_default() < self.max_amount { + let items = &self.tree.tree_items; - let mut init = self.increments.is_none(); + let mut init = self.increments.is_none(); - if let Some(i) = self.increments.as_mut() { - *i += 1; - } else { - self.increments = Some(0); - }; + if let Some(i) = self.increments.as_mut() { + *i += 1; + } else { + self.increments = Some(0); + }; - loop { - if !init { - self.index += 1; - } - init = false; + loop { + if !init { + self.index += 1; + } + init = false; - if self.index >= self.tree.len() { - break; - } + if self.index >= self.tree.len() { + break; + } - let elem = &items[self.index]; + let elem = &items[self.index]; - if elem.info().is_visible() { - return Some((self.index, &items[self.index])); - } - } - } + if elem.info().is_visible() { + return Some((self.index, &items[self.index])); + } + } + } - None - } + None + } } |