Trait TupleFnOnce

Source
pub trait TupleFnOnce<Args> {
    type TupleFnOutput;

    // Required method
    fn call_once_with_args_tuple(self, args: Args) -> Self::TupleFnOutput;
}
Expand description

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

use tuple_fn::TupleFnOnce;

let start = "hello".to_string();

let closure = move |s1, s2| {
    let mut start = start;
    start.push_str(" ");
    start.push_str(s1);
    start.push_str(" ");
    start.push_str(s2);
    start
};

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

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

Required Associated Types§

Required Methods§

Source

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

Implementors§

Source§

impl<R, T: FnOnce() -> R> TupleFnOnce<()> for T

Source§

impl<R, T: FnOnce(A1) -> R, A1> TupleFnOnce<(A1,)> for T

Source§

impl<R, T: FnOnce(A1, A2) -> R, A1, A2> TupleFnOnce<(A1, A2)> for T

Source§

impl<R, T: FnOnce(A1, A2, A3) -> R, A1, A2, A3> TupleFnOnce<(A1, A2, A3)> for T

Source§

impl<R, T: FnOnce(A1, A2, A3, A4) -> R, A1, A2, A3, A4> TupleFnOnce<(A1, A2, A3, A4)> for T

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<R, T: FnOnce(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> TupleFnOnce<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)> for T

Source§

impl<R, T: FnOnce(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> TupleFnOnce<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)> for T

Source§

impl<R, T: FnOnce(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> TupleFnOnce<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)> for T

Source§

impl<R, T: FnOnce(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> TupleFnOnce<(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)> for T