Packages

object Ordering extends LowPriorityOrderingImplicits with java.io.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
java.io.Serializable, LowPriorityOrderingImplicits, AnyRef, Any
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ordering
  2. Serializable
  3. LowPriorityOrderingImplicits
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AsComparable[A] = (A) => Comparable[_ >: A]
  2. trait BigDecimalOrdering extends Ordering[BigDecimal]
  3. trait BigIntOrdering extends Ordering[BigInt]
  4. trait BooleanOrdering extends Ordering[Boolean]
  5. trait ByteOrdering extends Ordering[Byte]
  6. sealed trait CachedReverse[T] extends Ordering[T]

    An ordering which caches the value of its reverse.

  7. trait CharOrdering extends Ordering[Char]
  8. trait ExtraImplicits extends AnyRef
  9. trait IntOrdering extends Ordering[Int]
  10. trait LongOrdering extends Ordering[Long]
  11. trait OptionOrdering[T] extends Ordering[Option[T]]
  12. trait ShortOrdering extends Ordering[Short]
  13. trait StringOrdering extends Ordering[String]
  14. trait SymbolOrdering extends Ordering[Symbol]
  15. trait UnitOrdering extends Ordering[Unit]

Value Members

  1. implicit def Option[T](implicit ord: Ordering[T]): Ordering[Option[T]]
  2. implicit def Tuple2[T1, T2](implicit ord1: Ordering[T1], ord2: Ordering[T2]): Ordering[(T1, T2)]
  3. implicit def Tuple3[T1, T2, T3](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3]): Ordering[(T1, T2, T3)]
  4. 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)]
  5. 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)]
  6. 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)]
  7. 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)]
  8. 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)]
  9. 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)]
  10. def apply[T](implicit ord: Ordering[T]): Ordering[T]
    Annotations
    @inline()
  11. 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.

  12. implicit def comparatorToOrdering[A](implicit cmp: Comparator[A]): Ordering[A]
  13. def fromLessThan[T](cmp: (T, T) => Boolean): Ordering[T]

    Construct an Ordering[T] given a function lt.

  14. implicit def ordered[A](implicit asComparable: AsComparable[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
  15. implicit object BigDecimal extends BigDecimalOrdering
  16. implicit object BigInt extends BigIntOrdering
  17. implicit object Boolean extends BooleanOrdering
  18. implicit object Byte extends ByteOrdering
  19. implicit object Char extends CharOrdering
  20. object Double

    Orderings for Doubles.

  21. object Float

    Orderings for Floats.

  22. object Implicits extends ExtraImplicits

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

  23. implicit object Int extends IntOrdering with CachedReverse[Int]
  24. implicit object Long extends LongOrdering
  25. implicit object Short extends ShortOrdering
  26. implicit object String extends StringOrdering
  27. implicit object Symbol extends SymbolOrdering
  28. implicit object Unit extends UnitOrdering

Deprecated Value Members

  1. implicit def Iterable[T](implicit ord: Ordering[T]): Ordering[Iterable[T]]

    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0)

  2. implicit object DeprecatedDoubleOrdering extends TotalOrdering
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0)

  3. implicit object DeprecatedFloatOrdering extends TotalOrdering
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0)