Function rin::ecs::streaming_iterator::successors[][src]

pub fn successors<T, F>(first: Option<T>, succ: F) -> Successors<T, F> where
    F: FnMut(T) -> Option<T>, 

Creates an iterator where each successive item is computed from the preceding one.

let mut streaming_iter = streaming_iterator::successors(
    Some(1),
    |count| if count < 3 { Some(count + 1) } else { None },
);
assert_eq!(streaming_iter.next(), Some(&1));
assert_eq!(streaming_iter.next(), Some(&2));
assert_eq!(streaming_iter.next(), Some(&3));
assert_eq!(streaming_iter.next(), None);