#closures #iterator

iter_from_closure

Iterator<Item = Item> from FnMut() -> Option<Item>

1 stable release

Uses old Rust 2015

1.0.0 Sep 3, 2017

#24 in #closure

MIT/Apache

5KB

iter_from_closure

Iterator<Item = Item> creation for one-time use iterators from mutable closures in the form FnMut() -> Option<Item>.

Please read the API documentation here.

crates

Usage

How to use with cargo:

[dependencies]
iter_from_closure = "1.0.0"

How to use in your crate:

extern crate iter_from_closure;

use iter_from_closure::iter_from_closure;

let mut count = 5;
let iter = iter_from_closure(|| {
    let c = count;
    count = c - 1;
    if c > 0 { Some(c) } else { None }
});

assert_eq!(vec![5, 4, 3, 2, 1], iter.collect::<Vec<_>>());

Recent Changes

  • 1.0.0 - Initial version. Unlikely to be more.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 or the MIT license, at your option. This file may not be copied, modified, or distributed except according to those terms.

No runtime deps