Function memselect::new3 [−][src]
pub fn new3<A1, A2, A3, I1, I2, I3, F, R>(
input1: I1,
input2: I2,
input3: I3,
selector: F
) -> impl Selector3<A1, A2, A3, Output = R> where
F: FnMut(&I1::Output, &I2::Output, &I3::Output) -> R,
I1: Selector1<A1>,
I1::Output: Clone + Eq,
I2: Selector1<A2>,
I2::Output: Clone + Eq,
I3: Selector1<A3>,
I3::Output: Clone + Eq,
R: Clone,
Creates a new memoizing selector with a three input functions.
If the return value of input1
, input2
and input3
doesn't change, selector
will not be reinvoked and a cached copy of the result will be returned instead.