public static <R> Stream<R> zip(final int[] a, final int[] b, final int[] c, final int valueForNoneA, final int valueForNoneB, final int valueForNoneC,
            final IntTriFunction<R> zipFunction) {
        return zip(IntIteratorEx.of(a), IntIteratorEx.of(b), IntIteratorEx.of(c), valueForNoneA, valueForNoneB, valueForNoneC, zipFunction);
    }
public static < R > Stream < R > zip ( final int [ ] a , final int [ ] b , final int [ ] c , final int valueForNoneA , final int valueForNoneB , final int valueForNoneC , final IntTriFunction < R > zipFunction ) { return zip ( IntIteratorEx . of ( a ) , IntIteratorEx . of ( b ) , IntIteratorEx . of ( c ) , valueForNoneA , valueForNoneB , valueForNoneC , zipFunction ) ; }
Zip together the "a", "b" and "c" iterators until all of them runs out of values.
Each triple of values is combined into a single value using the supplied zipFunction function.

@param a
@param b
@param c
@param valueForNoneA value to fill if "a" runs out of values.
@param valueForNoneB value to fill if "b" runs out of values.
@param valueForNoneC value to fill if "c" runs out of values.
@param zipFunction
@return