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
trait CachedReverse[T]
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