A trait for representing partial orderings. It is important to distinguish between a type that has a partial order and a representation of partial ordering on some type. This trait is for representing the latter.
A partial ordering is a
binary relation on a type T
, exposed as the lteq
method of this trait.
This relation must be:
- reflexive: lteq(x, x) == true
, for any x
of type T
.
- anti-symmetric: if lteq(x, y) == true
and
lteq(y, x) == true
then equiv(x, y) == true
, for any x
and y
of type T
.
- transitive: if lteq(x, y) == true
and
lteq(y, z) == true
then lteq(x, z) == true
,
for any x
, y
, and z
of type T
.
Additionally, a partial ordering induces an
equivalence relation
on a type T
: x
and y
of type T
are equivalent if and only if
lteq(x, y) && lteq(y, x) == true
. This equivalence relation is
exposed as the equiv
method, inherited from the
Equiv trait.
- Companion:
- object
- Source:
- PartialOrdering.scala
Value members
Abstract methods
Returns true
iff x
comes before y
in the ordering.
Returns true
iff x
comes before y
in the ordering.
- Source:
- PartialOrdering.scala
Result of comparing x
with operand y
.
Result of comparing x
with operand y
.
Returns None
if operands are not comparable.
If operands are comparable, returns Some(r)
where
- r < 0
iff x < y
- r == 0
iff x == y
- r > 0
iff x > y
- Source:
- PartialOrdering.scala
Concrete methods
Returns true
iff x
is equivalent to y
in the ordering.
Returns true
iff x
is equivalent to y
in the ordering.
- Source:
- PartialOrdering.scala
Returns true
iff y
comes before x
in the ordering
and is not the same as x
.
Returns true
iff y
comes before x
in the ordering
and is not the same as x
.
- Source:
- PartialOrdering.scala
Returns true
iff y
comes before x
in the ordering.
Returns true
iff y
comes before x
in the ordering.
- Source:
- PartialOrdering.scala
Returns true
iff x
comes before y
in the ordering
and is not the same as y
.
Returns true
iff x
comes before y
in the ordering
and is not the same as y
.
- Source:
- PartialOrdering.scala