resiter::onok

Trait OnOkDo

Source
pub trait OnOkDo<I, O, E, F>
where I: Iterator<Item = Result<O, E>>, F: FnMut(&O),
{ // Required method fn on_ok(self, _: F) -> OnOk<I, O, E, F> ; }
Expand description

Extension trait for Iterator<Item = Result<T, E>> to do something on Ok(_)

Required Methods§

Source

fn on_ok(self, _: F) -> OnOk<I, O, E, F>

Perform a side effect on each Ok value

use resiter::onok::OnOkDo;
use std::str::FromStr;

let mut oks = Vec::new();
let _: Vec<Result<usize, ::std::num::ParseIntError>> = ["1", "2", "a", "b", "5"]
    .iter()
    .map(|e| usize::from_str(e))
    .on_ok(|e| oks.push(e.to_owned()))
    .collect();

assert_eq!(oks, vec![1, 2, 5]);

Implementors§

Source§

impl<I, O, E, F> OnOkDo<I, O, E, F> for I
where I: Iterator<Item = Result<O, E>>, F: FnMut(&O),