/** * Partially apply this function to the arguments. */ default Function1<T4, R> applyPartially(T1 v1, T2 v2, T3 v3) { return (v4) -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4) { return () -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function3<T2, T3, T4, R> applyPartially(T1 v1) { return (v2, v3, v4) -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function3<T2, T3, T4, R> applyPartially(T1 v1) { return (v2, v3, v4) -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function2<T3, T4, R> applyPartially(T1 v1, T2 v2) { return (v3, v4) -> apply(v1, v2, v3, v4); }
/** * Construct a tuple function of degree 4. */ static <T1, T2, T3, T4, R> Function1<Tuple4<T1, T2, T3, T4>, R> function(Function4<T1, T2, T3, T4, R> function) { return t -> function.apply(t.v1, t.v2, t.v3, t.v4); }
/** * Apply this tuple as arguments to a function. */ public final <R> R map(Function4<? super T1, ? super T2, ? super T3, ? super T4, ? extends R> function) { return function.apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function3<T2, T3, T4, R> applyPartially(Tuple1<? extends T1> args) { return (v2, v3, v4) -> apply(args.v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function2<T3, T4, R> applyPartially(Tuple2<? extends T1, ? extends T2> args) { return (v3, v4) -> apply(args.v1, args.v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function1<T4, R> applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) { return (v4) -> apply(args.v1, args.v2, args.v3, v4); }
/** * Partially apply this function to the arguments. */ default Function0<R> applyPartially(Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> args) { return () -> apply(args.v1, args.v2, args.v3, args.v4); }
/** * Construct a tuple function of degree 4. */ static <T1, T2, T3, T4, R> Function1<Tuple4<T1, T2, T3, T4>, R> function(Function4<T1, T2, T3, T4, R> function) { return t -> function.apply(t.v1, t.v2, t.v3, t.v4); }
/** * Apply this function to the arguments. */ R apply(T1 v1, T2 v2, T3 v3, T4 v4);
/** * Partially apply this function to the arguments. */ default Function1<T4, R> applyPartially(T1 v1, T2 v2, T3 v3) { return (v4) -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4) { return () -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function3<T2, T3, T4, R> applyPartially(Tuple1<? extends T1> args) { return (v2, v3, v4) -> apply(args.v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function2<T3, T4, R> applyPartially(Tuple2<? extends T1, ? extends T2> args) { return (v3, v4) -> apply(args.v1, args.v2, v3, v4); }
/** * Apply this tuple as arguments to a function. */ public final <R> R map(Function4<? super T1, ? super T2, ? super T3, ? super T4, ? extends R> function) { return function.apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function2<T3, T4, R> applyPartially(T1 v1, T2 v2) { return (v3, v4) -> apply(v1, v2, v3, v4); }
/** * Partially apply this function to the arguments. */ default Function1<T4, R> applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) { return (v4) -> apply(args.v1, args.v2, args.v3, v4); }