package org.matheclipse.core.generic.interfaces;
import javax.annotation.Nullable;
/**
* A BiFunction provides a transformation on two objects and returns the resulting
* object.
*
* The transformation on the source objects does not necessarily result in
* an object of a different type.
*
*
Implementors of BiFunction which may cause side effects upon evaluation are
* strongly encouraged to state this fact clearly in their API documentation.
*
*/
public interface BiFunction {
/**
* Applys the function to an object of types {@code F1} and {@code F2}, resulting in an object
* of type {@code T}. Note that types {@code F1}, {@code F2} and {@code T} may or may not
* be the same.
*
* @param from1 The first source object.
* @param from2 The second source object.
* @return The resulting object.
*/
T apply(@Nullable F1 from1, @Nullable F2 from2);
}
Ads help maintain this website.