Packages

object Ordering extends LowPriorityOrderingImplicits with Serializable

This is the companion object for the scala.math.Ordering trait.

It contains many implicit orderings as well as well as methods to construct new orderings.

Source
Ordering.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ordering
  2. Serializable
  3. Serializable
  4. LowPriorityOrderingImplicits
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. implicit def Iterable[T](implicit ord: Ordering[T]): Ordering[Iterable[T]]
  2. implicit def Option[T](implicit ord: Ordering[T]): Ordering[Option[T]]
  3. implicit def Tuple2[T1, T2](implicit ord1: Ordering[T1], ord2: Ordering[T2]): Ordering[(T1, T2)]
  4. implicit def Tuple3[T1, T2, T3](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3]): Ordering[(T1, T2, T3)]
  5. implicit def Tuple4[T1, T2, T3, T4](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4]): Ordering[(T1, T2, T3, T4)]
  6. implicit def Tuple5[T1, T2, T3, T4, T5](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5]): Ordering[(T1, T2, T3, T4, T5)]
  7. implicit def Tuple6[T1, T2, T3, T4, T5, T6](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6]): Ordering[(T1, T2, T3, T4, T5, T6)]
  8. implicit def Tuple7[T1, T2, T3, T4, T5, T6, T7](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7]): Ordering[(T1, T2, T3, T4, T5, T6, T7)]
  9. implicit def Tuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8)]
  10. implicit def Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8], ord9: Ordering[T9]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]
  11. def apply[T](implicit ord: Ordering[T]): Ordering[T]
  12. def by[T, S](f: (T) ⇒ S)(implicit ord: Ordering[S]): Ordering[T]

    Given f, a function from T into S, creates an Ordering[T] whose compare function is equivalent to:

    Given f, a function from T into S, creates an Ordering[T] whose compare function is equivalent to:

    def compare(x:T, y:T) = Ordering[S].compare(f(x), f(y))

    This function is an analogue to Ordering.on where the Ordering[S] parameter is passed implicitly.

  13. implicit def comparatorToOrdering[A](implicit cmp: Comparator[A]): Ordering[A]
    Definition Classes
    LowPriorityOrderingImplicits
  14. def fromLessThan[T](cmp: (T, T) ⇒ Boolean): Ordering[T]

    Construct an Ordering[T] given a function lt.

  15. implicit def ordered[A](implicit arg0: (A) ⇒ Comparable[A]): Ordering[A]

    This would conflict with all the nice implicit Orderings available, but thanks to the magic of prioritized implicits via subclassing we can make Ordered[A] => Ordering[A] only turn up if nothing else works.

    This would conflict with all the nice implicit Orderings available, but thanks to the magic of prioritized implicits via subclassing we can make Ordered[A] => Ordering[A] only turn up if nothing else works. Since Ordered[A] extends Comparable[A] anyway, we can throw in some Java interop too.

    Definition Classes
    LowPriorityOrderingImplicits
  16. implicit object BigDecimal extends BigDecimalOrdering
  17. implicit object BigInt extends BigIntOrdering
  18. implicit object Boolean extends BooleanOrdering
  19. implicit object Byte extends ByteOrdering
  20. implicit object Char extends CharOrdering
  21. implicit object Double extends DoubleOrdering
  22. implicit object Float extends FloatOrdering
  23. object Implicits extends ExtraImplicits

    An object containing implicits which are not in the default scope.

  24. implicit object Int extends IntOrdering
  25. implicit object Long extends LongOrdering
  26. implicit object Short extends ShortOrdering
  27. implicit object String extends StringOrdering
  28. implicit object Unit extends UnitOrdering