Trait FunctionInputGen

Source
pub trait FunctionInputGen<K, Inputs, Marker>: 'static {
    // Required method
    fn execute(&self, key: &K, inputs: &Inputs) -> Inputs;
}
Expand description

A function that can be turned into an input generator for Inputs

Required Methods§

Source

fn execute(&self, key: &K, inputs: &Inputs) -> Inputs

Execute the function and generate a set of inputs

Implementors§

Source§

impl<K: 'static, Func> FunctionInputGen<K, (), fn(&K)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static> FunctionInputGen<K, I0, fn(&K, &I0) -> I0> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0) -> I0,

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static> FunctionInputGen<K, (I0, I1), fn(&K, &I0, &I1) -> (I0, I1)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1) -> (I0, I1),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2), fn(&K, &I0, &I1, &I2) -> (I0, I1, I2)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2) -> (I0, I1, I2),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3), fn(&K, &I0, &I1, &I2, &I3) -> (I0, I1, I2, I3)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3) -> (I0, I1, I2, I3),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4), fn(&K, &I0, &I1, &I2, &I3, &I4) -> (I0, I1, I2, I3, I4)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4) -> (I0, I1, I2, I3, I4),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5) -> (I0, I1, I2, I3, I4, I5)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5) -> (I0, I1, I2, I3, I4, I5),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6) -> (I0, I1, I2, I3, I4, I5, I6)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6) -> (I0, I1, I2, I3, I4, I5, I6),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7) -> (I0, I1, I2, I3, I4, I5, I6, I7)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7) -> (I0, I1, I2, I3, I4, I5, I6, I7),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static, I8: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static, I8: Clone + Send + 'static, I9: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static, I8: Clone + Send + 'static, I9: Clone + Send + 'static, I10: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10)> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10),

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static, I8: Clone + Send + 'static, I9: Clone + Send + 'static, I10: Clone + Send + 'static, I11: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10, &I11) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11)> for Func

Source§

impl<K: 'static, Func, I0: Clone + Send + 'static, I1: Clone + Send + 'static, I2: Clone + Send + 'static, I3: Clone + Send + 'static, I4: Clone + Send + 'static, I5: Clone + Send + 'static, I6: Clone + Send + 'static, I7: Clone + Send + 'static, I8: Clone + Send + 'static, I9: Clone + Send + 'static, I10: Clone + Send + 'static, I11: Clone + Send + 'static, I12: Clone + Send + 'static> FunctionInputGen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12), fn(&K, &I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10, &I11, &I12) -> (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12)> for Func