# PartialOrdering

scala.math.PartialOrdering
See thePartialOrdering companion object
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.

## Attributes

Companion
object
Source
PartialOrdering.scala
Graph
Supertypes
trait Equiv[T]
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
trait Ordering[T]
object DurationIsOrdered.type
object ValueOrdering.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
trait ByteOrdering
object Byte.type
trait CachedReverse[T]
object Int.type
trait CharOrdering
object Char.type
trait IeeeOrdering
object IeeeOrdering.type
object TotalOrdering.type
trait IeeeOrdering
object IeeeOrdering.type
object TotalOrdering.type
trait IntOrdering
trait LongOrdering
object Long.type
trait OptionOrdering[T]
object Short.type
object String.type
object Symbol.type
trait UnitOrdering
object Unit.type
Self type

## Members list

### 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.

## Attributes

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`

## Attributes

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.

## Attributes

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`.

## Attributes

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.

## Attributes

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`.

## Attributes

Source
PartialOrdering.scala

## Attributes

Source
PartialOrdering.scala