Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. use std::rc::Rc;
  2. use std::cell::{RefCell};
  3.  
  4. type VectorItemWrapper<T> = Rc<RefCell<T>>;
  5.  
  6. struct CustomIter<T> {
  7. i: usize,
  8. v: Vec<VectorItemWrapper<T>>,
  9. }
  10.  
  11. impl<T> Iterator for CustomIter<T> {
  12. type Item = VectorItemWrapper<T>;
  13.  
  14. fn next(&mut self) -> Option<VectorItemWrapper<T>> {
  15. if self.i == self.v.len() {
  16. None
  17. } else {
  18. self.i += 1;
  19. Some(self.v[self.i - 1].clone())
  20. }
  21. }
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement