Trait TupleFn

Source
pub trait TupleFn<Args>: TupleFnMut<Args> {
    // Required method
    fn call_with_args_tuple(&self, args: Args) -> Self::TupleFnOutput;
}
Expand description

Enables the types which implements Fn to be called with arguments tuple.

use tuple_fn::TupleFn;

let start = "hello".to_string();

let closure = move |s1, s2| {
    format!("{} {} {}", start, s1, s2)
};

let result = closure.call_with_args_tuple(("world", "!"));

assert_eq!(result, "hello world !");

let result = closure.call_with_args_tuple(("to", "everyone!"));

assert_eq!(result, "hello to everyone!");

Required Methods§

Source

fn call_with_args_tuple(&self, args: Args) -> Self::TupleFnOutput

Implementors§

Source§

impl<R, T: Fn() -> R> TupleFn<()> for T

Source§

impl<R, T: Fn(A1) -> R, A1> TupleFn<(A1,)> for T

Source§

impl<R, T: Fn(A1, A2) -> R, A1, A2> TupleFn<(A1, A2)> for T

Source§

impl<R, T: Fn(A1, A2, A3) -> R, A1, A2, A3> TupleFn<(A1, A2, A3)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4) -> R, A1, A2, A3, A4> TupleFn<(A1, A2, A3, A4)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5) -> R, A1, A2, A3, A4, A5> TupleFn<(A1, A2, A3, A4, A5)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6) -> R, A1, A2, A3, A4, A5, A6> TupleFn<(A1, A2, A3, A4, A5, A6)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7) -> R, A1, A2, A3, A4, A5, A6, A7> TupleFn<(A1, A2, A3, A4, A5, A6, A7)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8) -> R, A1, A2, A3, A4, A5, A6, A7, A8> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)> for T

Source§

impl<R, T: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> TupleFn<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)> for T