Trait FunctionKeygen

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

An Fn that can act as a key generator

Required Methods§

Source

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

Execute this function and generate a key

Implementors§

Source§

impl<K: 'static, Func> FunctionKeygen<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> FunctionKeygen<K, I0, fn(&I0) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0) -> K,

Source§

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

Source§

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

Source§

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

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> FunctionKeygen<K, (I0, I1, I2, I3, I4), fn(&I0, &I1, &I2, &I3, &I4) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5), fn(&I0, &I1, &I2, &I3, &I4, &I5) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6, I7), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10) -> K,

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> FunctionKeygen<K, (I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11), fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10, &I11) -> K> for Func
where Func: Send + Sync + 'static, for<'a> &'a Func: Fn(&I0, &I1, &I2, &I3, &I4, &I5, &I6, &I7, &I8, &I9, &I10, &I11) -> K,