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.