Function transducers::transduce
[−]
[src]
pub fn transduce<'t, 'i, T: 't, U, I: Iterator<Item = U>, Step: Fn(Vec<T>, U) -> Vec<T>, Trans: Transducer<'t, Vec<T>, T, U, Step = Step>>(
iter: &'i mut I,
trans: Trans
) -> Vec<T> where
Trans::Step: 't,
Transduces the iterator iter
with the transducer trans
.
This is an alternative to methods like map
and filter
in the standard
library.
let v = vec!(2i32, 3, 5, 7, 11); let f = |&x| x * 2; let v_trans = transduce(&mut v.iter(), Mapping::new(&f)); let v_map: Vec<i32> = v.iter().map(f).collect(); assert_eq!(v_trans, v_map);