Crate gen_iter [−] [src]
gen_iter - create generators to use as iterators
GenIter
converts a generator into an iterator over the
yielded type of the generator. the return type of the generator
, if any, is ignored.
#![feature(generators)] #![feature(conservative_impl_trait)] extern crate gen_iter; use gen_iter::GenIter; fn fibonacci() -> impl Iterator<Item = u64> { GenIter(|| { let mut a = 0; let mut b = 1; loop { let c = a + b; a = b; b = c; yield a; } }) } fn main() { for elem in fibonacci().map(|x| 2 * x).take(10) { println!("{}", elem); } }
Macros
gen_iter |
macro to simplify iterator - via - generator construction |
Structs
GenIter |
a iterator that holds an internal generator representing the iteration state |