de.caff.generics.function

## Interface IntFunction2<T>

- Type Parameters:
    `T` - tye of the result of this function
  All Superinterfaces:
    java.util.function.BiFunction<java.lang.Integer,java.lang.Integer,T>, java.util.function.Function<ITuple2<? extends java.lang.Integer,? extends java.lang.Integer>,T>, Function1<T,ITuple2<? extends java.lang.Integer,? extends java.lang.Integer>>, Function2<T,java.lang.Integer,java.lang.Integer>
  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 IntFunction2<T>
      extends Function2<T,java.lang.Integer,java.lang.Integer>

  Function with two integer arguments and generic result.
  Since:
    November 27, 2020
  Author:
    Rammi

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default T` | `apply(java.lang.Integer v1, java.lang.Integer v2)` Default implementation.
    `T` | `applyAsInt(int value1, int value2)` Apply this function to the given 2 arguments.

    - ### Methods inherited from interface de.caff.generics.function.Function2

      `after1, after2, after3, after5, after6, after7, after8, after9, andThen, apply, applyOrDefault, from, nonFragile, nonFragile, nonFragileX, partial1, partial2, partialLeft, partialRight`

    - ### Methods inherited from interface de.caff.generics.function.Function1

      `after, applyNonNull, applyOrDefault, fallback, fallback, from, from, nonFragile, nonFragile, nonFragileX, partial, withFallback`

    - ### Methods inherited from interface java.util.function.Function

      `compose, identity`

- - ### Method Detail

    - #### applyAsInt

          T applyAsInt(int value1,
                       int value2)

      Apply this function to the given 2 arguments.
      Parameters:
        `value1` - first argument
        `value2` - second argument
      Returns:
        the function result

    - #### apply

          default T apply(java.lang.Integer v1,
                          java.lang.Integer v2)

      Default implementation. This uses `applyAsInt(int, int)`.
      Specified by:
        `apply` in interface `java.util.function.BiFunction<java.lang.Integer,java.lang.Integer,T>`
      Parameters:
        `v1` - first argument
        `v2` - second argument
      Returns:
        result value
      Throws:
        `java.lang.NullPointerException` - if either argument is `null`