org.apache.commons.io.function

## Interface IOBiFunction<T,U,R>

- Type Parameters:
    `T` - the type of the first argument to the function
    `U` - the type of the second argument to the function
    `R` - the type of the result of the function
  All Known Subinterfaces:
    IOBinaryOperator<T>
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface IOBiFunction<T,U,R>

  Like `BiFunction` but throws `IOException`.

  This is a functional interface whose functional method is `apply(Object, Object)`.

  See Also:
    `BiFunction`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default <V> IOBiFunction<T,U,V>` | `andThen(IOFunction<? super R,? extends V> after)` Creates a composed function that first applies this function to its input, and then applies the `after` function to the result.
    `R` | `apply(T t, U u)` Applies this function to the given arguments.
    `default java.util.function.BiFunction<T,U,R>` | `asBiFunction()` Creates a `BiFunction` for this instance that throws `UncheckedIOException` instead of `IOException`.

- - ### Method Detail

    - #### andThen

          default <V> IOBiFunction<T,U,V> andThen(IOFunction<? super R,? extends V> after)

      Creates a composed function that first applies this function to its input, and then applies the `after` function to the result. If evaluation of either function throws an exception, it is relayed to the caller of the composed function.
      Type Parameters:
        `V` - the type of output of the `after` function, and of the composed function
      Parameters:
        `after` - the function to apply after this function is applied
      Returns:
        a composed function that first applies this function and then applies the `after` function
      Throws:
        `NullPointerException` - if after is null

    - #### apply

          R apply(T t,
                  U u)
           throws IOException

      Applies this function to the given arguments.
      Parameters:
        `t` - the first function argument
        `u` - the second function argument
      Returns:
        the function result
      Throws:
        `IOException` - if an I/O error occurs.

    - #### asBiFunction

          default java.util.function.BiFunction<T,U,R> asBiFunction()

      Creates a `BiFunction` for this instance that throws `UncheckedIOException` instead of `IOException`.
      Returns:
        an UncheckedIOException BiFunction.