Trait resiter::onok::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 Iwhere I: Iterator<Item = Result<O, E>>, F: FnMut(&O),