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 <= y
ory <= x
(totality) - if
x <= y
andy <= x
, thenx == y
(antisymmetry) - if
x <= y
andy <= 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.
- Inheritance
-
- Object
- Eq<
T> - PartialOrder<
T> - Order
Constructors
- Order()
-
const
Properties
Methods
-
and(
Eq< T> eq) → Eq<T> -
Return an
Eq
that gives the result of and ofeq1
andeq2
.inherited -
between(
T min, T max, T value) → bool -
Test whether
value
is betweenmin
andmax
(inclusive). -
clamp(
T min, T max, T value) → T -
Clamp
value
betweenmin
andmax
. -
compare(
T x, T y) → int -
Result of comparing
x
withy
. Returns an Int whose sign is: -
contramap<
A> (T map(A)) → Order< A> -
Return an Order instance based on a parameter of type
T
extracted from a classA
.override -
eqv(
T x, T y) → bool -
Returns
true
ifx
==y
,false
otherwise.override -
gt(
T x, T y) → bool -
Returns
true
ifx
>y
,false
otherwise.override -
gteqv(
T x, T y) → bool -
Returns
true
ifx
>=y
,false
otherwise.override -
lt(
T x, T y) → bool -
Returns
true
ifx
<y
,false
otherwise.override -
lteqv(
T x, T y) → bool -
Returns
true
ifx
<=y
,false
otherwise.override -
max(
T x, T y) → T -
If
x > y
, returnx
, else returny
. -
min(
T x, T y) → T -
If
x < y
, returnx
, else returny
. -
neqv(
T x, T y) → bool -
Returns
false
ifx
andy
are equivalent,true
otherwise.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
or(
Eq< T> eq) → Eq<T> -
Return an
Eq
that gives the result of or of this Eq andeq
.inherited -
partialCompare(
T x, T y) → double -
Result of comparing
x
withy
.override -
toString(
) → String -
A string representation of this object.
inherited
-
xor(
Eq< T> eq) → Eq<T> -
Return an
Eq
that gives the result of xor of this Eq andeq
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
Static Methods
-
allEqual<
A> () → Order< A> -
An
Order
instance that considers allA
instances to be equal (compare
always returns0
).override -
by<
A, B> (B f(A a), Order< B> ord) → Order<A> -
Convert an implicit
Order<B>
to anOrder<A>
using the given functionf
.override -
from<
A> (int f(A a1, A a2)) → Order< A> -
Define an
Order<A>
using the given functionf
.override -
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 firstOrder
instance and uses the secondOrder
instance to "break ties".