java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn3.Compare<A>
Type Parameters:
A - the value type
All Implemented Interfaces:
Fn1<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>>, Fn2<Comparator<A>,A,Fn1<A,ComparisonRelation>>, Fn3<Comparator<A>,A,A,ComparisonRelation>, Applicative<Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>, Cartesian<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<?,?>>, Cocartesian<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<?,?>>, Contravariant<Comparator<A>,Profunctor<?,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<?,?>>>, Functor<Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>, Profunctor<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<?,?>>, Monad<Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>, MonadReader<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>, MonadRec<Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>, MonadWriter<Comparator<A>,Fn1<A,Fn1<A,ComparisonRelation>>,Fn1<Comparator<A>,?>>

public final class Compare<A> extends Object implements Fn3<Comparator<A>,A,A,ComparisonRelation>
Given a Comparator from some type A and two values of type A, return a ComparisonRelation of the first value with reference to the second value (according to Comparator.compare(Object, Object). The order of parameters is flipped with respect to Comparator.compare(Object, Object) for more idiomatic partial application.

Example:

 
  Compare.compare(naturalOrder(), 1, 2); // ComparisonRelation.GreaterThan
  Compare.compare(naturalOrder(), 2, 1); // ComparisonRelation.LessThan
  Compare.compare(naturalOrder(), 1, 1); // ComparisonRelation.Equal
 
 
See Also: