IsomorphismIndex

@SerialVersionUID(1L) class IsomorphismIndex[T, U](val innerIndex: Index[T])(implicit iso: Isomorphism[T, U]) extends Index[U] with Serializable

Maps an index of type T to an index of type U using an isomorphism implicit

trait Index[U]
trait Serializable
trait U => Int
trait Iterable[U]
trait IterableFactoryDefaults[U, [A] =>> Iterable[A]]
trait IterableOps[U, [A] =>> Iterable[A], Iterable[U]]
trait IterableOnceOps[U, [A] =>> Iterable[A], Iterable[U]]
trait IterableOnce[U]
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(u: U): Int
override def contains(u: U): Boolean
Definition Classes
override def get(i: Int): U
Definition Classes
def iterator: Iterator[U]
def pairs: Iterator[(U, Int)]

Returns the indexed items along with their indicies

Returns the indexed items along with their indicies

override def size: Int
Definition Classes
Index -> IterableOnceOps
def unapply(i: Int): Option[U]

Returns Some(t) if this int corresponds to some object, and None otherwise.

Returns Some(t) if this int corresponds to some object, and None otherwise.

Inherited methods

@inline
final def ++[B >: U](suffix: IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
@inline
final def addString(b: StringBuilder): StringBuilder
Inherited from
IterableOnceOps
@inline
final def addString(b: StringBuilder, sep: String): StringBuilder
Inherited from
IterableOnceOps
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
Inherited from
IterableOnceOps
@unspecialized
def andThen[A](g: Int => A): U => A
Inherited from
Function1
def collect[B](pf: PartialFunction[U, B]): Iterable[B]
Inherited from
IterableOps
def collectFirst[B](pf: PartialFunction[U, B]): Option[B]
Inherited from
IterableOnceOps
@unspecialized
def compose[A](g: A => U): A => Int
Inherited from
Function1
def concat[B >: U](suffix: IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def copyToArray[B >: U](xs: Array[B], start: Int, len: Int): Int
Inherited from
IterableOnceOps
@deprecatedOverriding(message = "This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: U](xs: Array[B], start: Int): Int
Inherited from
IterableOnceOps
@deprecatedOverriding(message = "This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: U](xs: Array[B]): Int
Inherited from
IterableOnceOps
def corresponds[B](that: IterableOnce[B])(p: (U, B) => Boolean): Boolean
Inherited from
IterableOnceOps
def count(p: U => Boolean): Int
Inherited from
IterableOnceOps
def drop(n: Int): Iterable[U]
Inherited from
IterableOps
def dropRight(n: Int): Iterable[U]
Inherited from
IterableOps
def dropWhile(p: U => Boolean): Iterable[U]
Inherited from
IterableOps
override def empty: Iterable[U]
Definition Classes
IterableFactoryDefaults -> IterableOps
Inherited from
IterableFactoryDefaults
override def equals(other: Any): Boolean
Definition Classes
Index -> Any
Inherited from
Index
def exists(p: U => Boolean): Boolean
Inherited from
IterableOnceOps
def filter(pred: U => Boolean): Iterable[U]
Inherited from
IterableOps
def filterNot(pred: U => Boolean): Iterable[U]
Inherited from
IterableOps
def find(p: U => Boolean): Option[U]
Inherited from
IterableOnceOps
def flatMap[B](f: U => IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def flatten[B](implicit asIterable: U => IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def fold[A1 >: U](z: A1)(op: (A1, A1) => A1): A1
Inherited from
IterableOnceOps
def foldLeft[B](z: B)(op: (B, U) => B): B
Inherited from
IterableOnceOps
def foldRight[B](z: B)(op: (U, B) => B): B
Inherited from
IterableOnceOps
def forall(p: U => Boolean): Boolean
Inherited from
IterableOnceOps
def foreach[U](f: U => U): Unit
Inherited from
IterableOnceOps
protected def fromSpecific(coll: IterableOnce[U]): Iterable[U]
Inherited from
IterableFactoryDefaults
def groupBy[K](f: U => K): Map[K, Iterable[U]]
Inherited from
IterableOps
def groupMap[K, B](key: U => K)(f: U => B): Map[K, Iterable[B]]
Inherited from
IterableOps
def groupMapReduce[K, B](key: U => K)(f: U => B)(reduce: (B, B) => B): Map[K, B]
Inherited from
IterableOps
def grouped(size: Int): Iterator[Iterable[U]]
Inherited from
IterableOps
override def hashCode: Int
Definition Classes
Index -> Any
Inherited from
Index
def head: U
Inherited from
IterableOps
def headOption: Option[U]
Inherited from
IterableOps
def indexOf(t: U): Int

Override Iterable's linear-scan indexOf to use our apply method.

Override Iterable's linear-scan indexOf to use our apply method.

Inherited from
Index
def indexOpt(t: U): Option[Int]

Returns Some(i) if the object has been indexed, or None.

Returns Some(i) if the object has been indexed, or None.

Inherited from
Index
def init: Iterable[U]
Inherited from
IterableOps
def inits: Iterator[Iterable[U]]
Inherited from
IterableOps
def isEmpty: Boolean
Inherited from
IterableOnceOps
override def isTraversableAgain: Boolean
Definition Classes
IterableOps -> IterableOnceOps
Inherited from
IterableOps
def iterableFactory: IterableFactory[[A] =>> Iterable[A]]
Inherited from
Iterable
def knownSize: Int
Inherited from
IterableOnce
def last: U
Inherited from
IterableOps
def lastOption: Option[U]
Inherited from
IterableOps
def lazyZip[B](that: Iterable[B]): LazyZip2[U, B, IsomorphismIndex[T, U]]
Inherited from
Iterable
def map[B](f: U => B): Iterable[B]
Inherited from
IterableOps
def max[B >: U](implicit ord: Ordering[B]): U
Inherited from
IterableOnceOps
def maxBy[B](f: U => B)(implicit cmp: Ordering[B]): U
Inherited from
IterableOnceOps
def maxByOption[B](f: U => B)(implicit cmp: Ordering[B]): Option[U]
Inherited from
IterableOnceOps
def maxOption[B >: U](implicit ord: Ordering[B]): Option[U]
Inherited from
IterableOnceOps
def min[B >: U](implicit ord: Ordering[B]): U
Inherited from
IterableOnceOps
def minBy[B](f: U => B)(implicit cmp: Ordering[B]): U
Inherited from
IterableOnceOps
def minByOption[B](f: U => B)(implicit cmp: Ordering[B]): Option[U]
Inherited from
IterableOnceOps
def minOption[B >: U](implicit ord: Ordering[B]): Option[U]
Inherited from
IterableOnceOps
@inline
final def mkString: String
Inherited from
IterableOnceOps
@inline
final def mkString(sep: String): String
Inherited from
IterableOnceOps
final def mkString(start: String, sep: String, end: String): String
Inherited from
IterableOnceOps
protected def newSpecificBuilder: Builder[U, Iterable[U]]
Inherited from
IterableFactoryDefaults
@deprecatedOverriding(message = "nonEmpty is defined as !isEmpty; override isEmpty instead", since = "2.13.0")
def nonEmpty: Boolean
Inherited from
IterableOnceOps
def partition(p: U => Boolean): (Iterable[U], Iterable[U])
Inherited from
IterableOps
def partitionMap[A1, A2](f: U => Either[A1, A2]): (Iterable[A1], Iterable[A2])
Inherited from
IterableOps
def product[B >: U](implicit num: Numeric[B]): B
Inherited from
IterableOnceOps
def reduce[B >: U](op: (B, B) => B): B
Inherited from
IterableOnceOps
def reduceLeft[B >: U](op: (B, U) => B): B
Inherited from
IterableOnceOps
def reduceLeftOption[B >: U](op: (B, U) => B): Option[B]
Inherited from
IterableOnceOps
def reduceOption[B >: U](op: (B, B) => B): Option[B]
Inherited from
IterableOnceOps
def reduceRight[B >: U](op: (U, B) => B): B
Inherited from
IterableOnceOps
def reduceRightOption[B >: U](op: (U, B) => B): Option[B]
Inherited from
IterableOnceOps
protected def reversed: Iterable[U]
Inherited from
IterableOnceOps
def scan[B >: U](z: B)(op: (B, B) => B): Iterable[B]
Inherited from
IterableOps
def scanLeft[B](z: B)(op: (B, U) => B): Iterable[B]
Inherited from
IterableOps
def scanRight[B](z: B)(op: (U, B) => B): Iterable[B]
Inherited from
IterableOps
def sizeCompare(that: Iterable[_]): Int
Inherited from
IterableOps
def sizeCompare(otherSize: Int): Int
Inherited from
IterableOps
@inline
final def sizeIs: SizeCompareOps
Inherited from
IterableOps
def slice(from: Int, until: Int): Iterable[U]
Inherited from
IterableOps
def sliding(size: Int, step: Int): Iterator[Iterable[U]]
Inherited from
IterableOps
def sliding(size: Int): Iterator[Iterable[U]]
Inherited from
IterableOps
def span(p: U => Boolean): (Iterable[U], Iterable[U])
Inherited from
IterableOps
override def splitAt(n: Int): (Iterable[U], Iterable[U])
Definition Classes
IterableOps -> IterableOnceOps
Inherited from
IterableOps
def stepper[S <: Stepper[_]](implicit shape: StepperShape[U, S]): S
Inherited from
IterableOnce
def sum[B >: U](implicit num: Numeric[B]): B
Inherited from
IterableOnceOps
def tail: Iterable[U]
Inherited from
IterableOps
def tails: Iterator[Iterable[U]]
Inherited from
IterableOps
def take(n: Int): Iterable[U]
Inherited from
IterableOps
def takeRight(n: Int): Iterable[U]
Inherited from
IterableOps
def takeWhile(p: U => Boolean): Iterable[U]
Inherited from
IterableOps
override def tapEach[U](f: U => U): Iterable[U]
Definition Classes
IterableOps -> IterableOnceOps
Inherited from
IterableOps
def to[C1](factory: Factory[U, C1]): C1
Inherited from
IterableOnceOps
def toArray[B >: U](implicit ClassTag[B]): Array[B]
Inherited from
IterableOnceOps
@inline
final def toBuffer[B >: U]: Buffer[B]
Inherited from
IterableOnceOps
def toIndexedSeq: IndexedSeq[U]
Inherited from
IterableOnceOps
final def toIterable: IsomorphismIndex[T, U]
Inherited from
Iterable
def toList: List[U]
Inherited from
IterableOnceOps
def toMap[K, V](implicit ev: U <:< (K, V)): Map[K, V]
Inherited from
IterableOnceOps
def toSeq: Seq[U]
Inherited from
IterableOnceOps
def toSet[B >: U]: Set[B]
Inherited from
IterableOnceOps
override def toString: String
Definition Classes
Index -> Function1 -> Iterable -> Any
Inherited from
Index
def toVector: Vector[U]
Inherited from
IterableOnceOps
def transpose[B](implicit asIterable: U => Iterable[B]): Iterable[Iterable[B]]
Inherited from
IterableOps
def unzip[A1, A2](implicit asPair: U => (A1, A2)): (Iterable[A1], Iterable[A2])
Inherited from
IterableOps
def unzip3[A1, A2, A3](implicit asTriple: U => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])
Inherited from
IterableOps
def view: View[U]
Inherited from
IterableOps
def withFilter(p: U => Boolean): WithFilter[U, [A] =>> Iterable[A]]
Inherited from
IterableOps
def zip[B](that: IterableOnce[B]): Iterable[(U, B)]
Inherited from
IterableOps
def zipAll[A1 >: U, B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]
Inherited from
IterableOps
def zipWithIndex: Iterable[(U, Int)]
Inherited from
IterableOps
def |[U](right: Index[U]): EitherIndex[U, U]
Inherited from
Index

Deprecated and Inherited methods

@deprecated(message = "Use ++ instead of ++: for collections of type Iterable", since = "2.13.0")
def ++:[B >: U](that: IterableOnce[B]): Iterable[B]
Deprecated
[Since version 2.13.0] Use ++ instead of ++: for collections of type Iterable
Inherited from
IterableOps
@inline @deprecated(message = "Use foldLeft instead of /:", since = "2.13.0")
final def /:[B](z: B)(op: (B, U) => B): B
Deprecated
[Since version 2.13.0] Use foldLeft instead of /:
Inherited from
IterableOnceOps
@inline @deprecated(message = "Use foldRight instead of :\\", since = "2.13.0")
final def :\[B](z: B)(op: (U, B) => B): B
Deprecated
[Since version 2.13.0] Use foldRight instead of :\\
Inherited from
IterableOnceOps
@deprecated(message = "`aggregate` is not relevant for sequential collections. Use `foldLeft(z)(seqop)` instead.", since = "2.13.0")
def aggregate[B](z: => B)(seqop: (B, U) => B, combop: (B, B) => B): B
Deprecated
[Since version 2.13.0] `aggregate` is not relevant for sequential collections. Use `foldLeft(z)(seqop)` instead.
Inherited from
IterableOnceOps
@inline @deprecatedOverriding(message = "Use iterableFactory instead", since = "2.13.0") @deprecated(message = "Use iterableFactory instead", since = "2.13.0")
def companion: IterableFactory[[A] =>> Iterable[A]]
Deprecated
[Since version 2.13.0] Use iterableFactory instead
Inherited from
IterableOps
@inline @deprecated(message = "Use `dest ++= coll` instead", since = "2.13.0")
final def copyToBuffer[B >: U](dest: Buffer[B]): Unit
Deprecated
[Since version 2.13.0] Use `dest ++= coll` instead
Inherited from
IterableOnceOps
@deprecated(message = "Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)", since = "2.13.0")
def hasDefiniteSize: Boolean
Deprecated
[Since version 2.13.0] Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)
Inherited from
IterableOnceOps
@deprecated(message = "Use coll instead of repr in a collection implementation, use the collection value itself from the outside", since = "2.13.0")
final def repr: Iterable[U]
Deprecated
[Since version 2.13.0] Use coll instead of repr in a collection implementation, use the collection value itself from the outside
Inherited from
IterableOps
@deprecated(message = "Iterable.seq always returns the iterable itself", since = "2.13.0")
def seq: IsomorphismIndex[T, U]
Deprecated
[Since version 2.13.0] Iterable.seq always returns the iterable itself
Inherited from
Iterable
@inline @deprecated(message = "Use .iterator instead of .toIterator", since = "2.13.0")
final def toIterator: Iterator[U]
Deprecated
[Since version 2.13.0] Use .iterator instead of .toIterator
Inherited from
IterableOnceOps
@inline @deprecated(message = "Use .to(LazyList) instead of .toStream", since = "2.13.0")
final def toStream: Stream[U]
Deprecated
[Since version 2.13.0] Use .to(LazyList) instead of .toStream
Inherited from
IterableOnceOps
@deprecated(message = "Use toIterable instead", since = "2.13.0")
final def toTraversable: Iterable[U]
Deprecated
[Since version 2.13.0] Use toIterable instead
Inherited from
IterableOps
@deprecated(message = "Use .view.slice(from, until) instead of .view(from, until)", since = "2.13.0")
def view(from: Int, until: Int): View[U]
Deprecated
[Since version 2.13.0] Use .view.slice(from, until) instead of .view(from, until)
Inherited from
IterableOps

Concrete fields

val innerIndex: Index[T]