PartialOrdering

trait PartialOrdering[T] extends Equiv[T]

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
trait Equiv[T]
class Object
trait Matchable
class Any
trait Ordering[T]
object ValueOrdering.type
object DeadlineIsOrdered.type
object DurationIsOrdered.type
trait Numeric[T]
trait Fractional[T]
object DoubleIsFractional.type
object FloatIsFractional.type
trait Integral[T]
object BigIntIsIntegral.type
object ByteIsIntegral.type
object CharIsIntegral.type
object IntIsIntegral.type
object LongIsIntegral.type
object ShortIsIntegral.type
object BigDecimal.type
object BigInt.type
object Boolean.type
object Byte.type
object Int.type
object Char.type
object IeeeOrdering.type
object TotalOrdering.type
object IeeeOrdering.type
object TotalOrdering.type
object Long.type
object Short.type
object String.type
object Symbol.type
object Unit.type

Value members

Abstract methods

def lteq(x: T, y: T): Boolean

Returns true iff x comes before y in the ordering.

Returns true iff x comes before y in the ordering.

Source:
PartialOrdering.scala
def tryCompare(x: T, y: T): Option[Int]

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

def equiv(x: T, y: T): Boolean

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
def gt(x: T, y: T): Boolean

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
def gteq(x: T, y: T): Boolean

Returns true iff y comes before x in the ordering.

Returns true iff y comes before x in the ordering.

Source:
PartialOrdering.scala
def lt(x: T, y: T): Boolean

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