Order<T> class
abstract
The Order type class is used to define a total ordering
on some type A.
An order is defined by a relation <=, which obeys the following laws:
- either
x <= yory <= x(totality) - if
x <= yandy <= x, thenx == y(antisymmetry) - if
x <= yandy <= z, thenx <= z(transitivity)
The truth table for compare is defined as follows:
| x <= y | x >= y | int | |
|---|---|---|---|
| true | true | = 0 | (corresponds to x == y) |
| true | false | < 0 | (corresponds to x < y) |
| false | true | > 0 | (corresponds to x > y) |
By the totality law, x <= y and y <= x cannot be both false.
Constructors
- Order()
-
const
Properties
Methods
-
between(
T min, T max, T value) → bool -
Test whether
valueis betweenminandmax(inclusive). -
clamp(
T min, T max, T value) → T -
Clamp
valuebetweenminandmax. -
compare(
T x, T y) → int -
Result of comparing
xwithy. Returns an Int whose sign is: -
contramap<
A> (T map(A)) → Order< A> -
Return an Order instance based on a parameter of type
Textracted from a classA. -
eqv(
T x, T y) → bool -
gt(
T x, T y) → bool -
gteqv(
T x, T y) → bool -
lt(
T x, T y) → bool -
lteqv(
T x, T y) → bool -
max(
T x, T y) → T -
If
x > y, returnx, else returny. -
min(
T x, T y) → T -
If
x < y, returnx, else returny. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
Static Methods
-
allEqual<
A> () → Order< A> -
An
Orderinstance that considers allAinstances to be equal (comparealways returns0). -
by<
A, B> (B f(A a), Order< B> ord) → Order<A> -
Convert an implicit
Order<B>to anOrder<A>using the given functionf. -
from<
A> (int f(A a1, A a2)) → Order< A> -
Define an
Order<A>using the given functionf. -
fromLessThan<
A> (bool f(A a1, A a2)) → Order< A> -
Define an
Order<A>using the given 'less than' functionf. -
whenEqual<
A> (Order< A> first, Order<A> second) → Order<A> -
Returns a new
Order<A>instance that first compares by the firstOrderinstance and uses the secondOrderinstance to "break ties".