Spec-Zone.ru › Scala 3.1

Trait scala.math.CachedReverse

Исходный код

sealed trait CachedReverse[T] extends Ordering[T]

Порядок, кэширующий значение своего обратного порядка.

Супертипы
Трейт Ordering[T]
Трейт PartialOrdering[T]
Трейт Equiv[T]
Трейт Serializable
Трейт Comparator[T]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
Объект Int.type

Наследуемые классы

Исходный код
class OrderingOps(lhs: T)

Этот внутренний класс определяет операторы сравнения, доступные для T.

Он не может расширять AnyVal, так как это не класс верхнего уровня или член статически доступного объекта.

Наследуется от Ordering

Конкретные методы

Исходный код
final override def isReverseOf(other: Ordering[_]): Boolean

Определяющие классы Ordering

Исходный код
final override def reverse: Ordering[T]

Определяющие классы Ordering -> PartialOrdering

Наследуемые методы

Исходный код
def compare(x: T, y: T): Int

Возвращает целое число, знак которого указывает, как x сравнивается с y.

Знак результата имеет следующее значение:

- отрицательный, если x < y - положительный, если x > y - нулевой, если x == y

Наследуется от Ordering

Исходный код
override def equiv(x: T, y: T): Boolean

Возвращает true, если x == y в порядке.

Определяющие классы Ordering -> PartialOrdering -> Equiv
Наследуется от Ordering

Исходный код
override def gt(x: T, y: T): Boolean

Возвращает true, если x > y в порядке.

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

Исходный код
override def gteq(x: T, y: T): Boolean

Возвращает true, если x >= y в порядке.

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

Исходный код
override def lt(x: T, y: T): Boolean

Возвращает true, если x < y в порядке.

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

Исходный код
override def lteq(x: T, y: T): Boolean

Возвращает true, если x <= y в порядке.

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

Исходный код
def max[U <: T](x: U, y: U): U

Возвращает x, если x >= y, иначе y.

Наследуется от Ordering

Исходный код
def min[U <: T](x: U, y: U): U

Возвращает x, если x <= y, иначе y.

Наследуется от Ordering

Исходный код
def on[U](f: U => T): Ordering[U]

Принимая f, функцию из U в T, создаёт Ordering[U], чья функция сравнения эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Наследуется от Ordering

Исходный код
def orElse(other: Ordering[T]): Ordering[T]

Создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, иначе результат функции сравнения other.

Параметры значений
other

Ordering для использования, если этот Ordering возвращает ноль

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElse(Ordering.by[Pair, Int](_.b))
Наследуется от Ordering

Исходный код
def orElseBy[S](f: T => S)(implicit ord: Ordering[S]): Ordering[T]

Принимая f, функцию из T в S, создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, иначе результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElseBy[Int](_.b)
Наследуется от Ordering

def reversed(): Comparator[T]

Наследуется от Comparator

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: T <: <FromJavaObject>, _ <: U]): Comparator[T]

Наследуется от Comparator

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: T <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparing(x$0: Comparator[_ >: T <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingDouble(x$0: ToDoubleFunction[_ >: T <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingInt(x$0: ToIntFunction[_ >: T <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingLong(x$0: ToLongFunction[_ >: T <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

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

Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).

Inherited from Ordering

Inherited implicits

Source
implicit def mkOrderingOps(lhs: T): OrderingOps

Этот неявный метод дополняет T операторами сравнения, определёнными в scala.math.Ordering.Ops.

Inherited from Ordering

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/math/Ordering$$CachedReverse.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API