de.caff.generics.function

## Interface LongOperator1

- All Superinterfaces:
    java.util.function.LongUnaryOperator
  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 LongOperator1
      extends java.util.function.LongUnaryOperator

  Unary operator with a long argument and result.
  Since:
    October 31, 2019
  Author:
    Rammi

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static LongOperator1` | `BIT_FLIP` Byte operator BIT FLIP (`~`).
    `static LongOperator1` | `NEGATE` Long operator NEGATE.

  - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default LongOperator1` | `andThen(LongOperator1 after)` Create a function which applies this function and feeds the result into the next function.
    `static LongOperator1` | `from(java.util.function.LongUnaryOperator operator)` Make a standard unary long operator usable as `LongOperator1`.
    `default LongOperator0` | `partial(long argument)` Create a zero argument function from this one by applying a constant argument.

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

      `andThen, applyAsLong, compose, identity`

- - ### Field Detail

    - #### NEGATE

          static final LongOperator1 NEGATE

      Long operator NEGATE. Beware: as with usual NEGATE not only `0` also `Long.MIN_VALUE` is its own negative.

    - #### BIT_FLIP

          static final LongOperator1 BIT_FLIP

      Byte operator BIT FLIP (`~`).

  - ### Method Detail

    - #### partial

          @NotNull
          default LongOperator0 partial(long argument)

      Create a zero argument function from this one by applying a constant argument. Although useless for pure functions it can be useful in cases where the zero argument function is a factory (and therefore not pure).
      Parameters:
        `argument` - constant argument
      Returns:
        zero argument function

    - #### andThen

          @NotNull
          default LongOperator1 andThen(@NotNull
                                                 LongOperator1 after)

      Create a function which applies this function and feeds the result into the next function.
      Parameters:
        `after` - function called with the result of this function
      Returns:
        chained function

    - #### from

          @NotNull
          static LongOperator1 from(@NotNull
                                             java.util.function.LongUnaryOperator operator)

      Make a standard unary long operator usable as `LongOperator1`. This is useful if you want to make use of the extended functionality of this implementation.
      Parameters:
        `operator` - operator to be used as a `LongOperator1`
      Returns:
        `LongOperator1` view of the incoming operator, or possibly just a cast if `operator` already has the correct type