# Package org.apache.commons.io.function

Provides IO-only related functional interfaces for lambda expressions and method references.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IOBaseStream<T,S extends IOBaseStream<T,S,B>,B extends java.util.stream.BaseStream<T,B>> | Like `BaseStream` but throws `IOException`.
  IOBiConsumer<T,U> | Like `BiConsumer` but throws `IOException`.
  IOBiFunction<T,U,R> | Like `BiFunction` but throws `IOException`.
  IOBinaryOperator<T> | Like `BinaryOperator` but throws `IOException`.
  IOBooleanSupplier | Like `BooleanSupplier` but throws `IOException`.
  IOComparator<T> | Like `Comparator` but throws `IOException`.
  IOConsumer<T> | Like `Consumer` but throws `IOException`.
  IOFunction<T,R> | Like `Function` but throws `IOException`.
  IOIntConsumer | Like `IntConsumer` but throws `IOException`.
  IOIntSupplier | Like `IntSupplier` but throws `IOException`.
  IOIterable<T> | Like `Iterable` but throws `IOException`.
  IOIterator<E> | Like `Iterator` but throws `IOException`.
  IOLongSupplier | Like `LongSupplier` but throws `IOException`.
  IOPredicate<T> | Like `Predicate` but throws `IOException`.
  IOQuadFunction<T,U,V,W,R> | Represents a function that accepts four arguments and produces a result.
  IORunnable | Like `Runnable` but throws `IOException`.
  IOSpliterator<T> | Like `Spliterator` but throws `IOException`.
  IOStream<T> | Like `Stream` but throws `IOException`.
  IOSupplier<T> | Like `Supplier` but throws `IOException`.
  IOTriConsumer<T,U,V> | Like `BiConsumer` but throws `IOException`.
  IOTriFunction<T,U,V,R> | Represents a function that accepts three arguments and produces a result.
  IOUnaryOperator<T> | Like `UnaryOperator` but throws `IOException`.

- Class Summary
  Class | Description
  --- | ---
  Constants | Defines package-private constants.
  Erase | Erases `IOException` for the compiler but still throws that exception at runtime.
  IOBaseStreamAdapter<T,S extends IOBaseStream<T,S,B>,B extends java.util.stream.BaseStream<T,B>> | Abstracts an `IOBaseStream` implementation.
  IOIteratorAdapter<E> | Adapts an `Iterator` as an `IOIterator`.
  IOSpliteratorAdapter<T> | Adapts an `Spliterator` as an `IOSpliterator`.
  IOStreamAdapter<T> | Adapts an `Stream` as an `IOStream`.
  IOStreams | Keep this code package-private for now.
  Uncheck | Unchecks calls by throwing `UncheckedIOException` instead of `IOException`.
  UncheckedIOBaseStream<T,S extends IOBaseStream<T,S,B>,B extends java.util.stream.BaseStream<T,B>> | An `BaseStream` for a `IOBaseStream` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedIOIterable<E> | An `Iterable` for an `IOIterable` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedIOIterator<E> | An `Iterator` for an `IOIterator` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedIOSpliterator<T> | A `Spliterator` for an `IOSpliterator` that throws `UncheckedIOException` instead of `IOException`.

## Package org.apache.commons.io.function Description

Provides IO-only related functional interfaces for lambda expressions and method references.