MutableIndex

trait MutableIndex[T] extends Index[T]

An Index that contains an extra method: <em>index</em> that adds the given element (if necessary), returning its (possibly new) position in the index.

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

Value members

Abstract methods

def index(t: T): Int

Returns an integer index for the given object, adding it to the index if it is not already present.

Returns an integer index for the given object, adding it to the index if it is not already present.

Inherited methods

@inline
final def ++[B >: T](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): T => A
Inherited from
Function1
def apply(t: T): Int

Returns the int id of the given element (0-based) or -1 if not found in the index. This method never changes the index (even in MutableIndex).

Returns the int id of the given element (0-based) or -1 if not found in the index. This method never changes the index (even in MutableIndex).

Inherited from
Index
def collect[B](pf: PartialFunction[T, B]): Iterable[B]
Inherited from
IterableOps
def collectFirst[B](pf: PartialFunction[T, B]): Option[B]
Inherited from
IterableOnceOps
@unspecialized
def compose[A](g: A => T): A => Int
Inherited from
Function1
def concat[B >: T](suffix: IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def contains(t: T): Boolean

Returns true if this index contains the element t.

Returns true if this index contains the element t.

Inherited from
Index
def copyToArray[B >: T](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 >: T](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 >: T](xs: Array[B]): Int
Inherited from
IterableOnceOps
def corresponds[B](that: IterableOnce[B])(p: (T, B) => Boolean): Boolean
Inherited from
IterableOnceOps
def count(p: T => Boolean): Int
Inherited from
IterableOnceOps
def drop(n: Int): Iterable[T]
Inherited from
IterableOps
def dropRight(n: Int): Iterable[T]
Inherited from
IterableOps
def dropWhile(p: T => Boolean): Iterable[T]
Inherited from
IterableOps
override def empty: Iterable[T]
Definition Classes
IterableFactoryDefaults -> IterableOps
Inherited from
IterableFactoryDefaults
override def equals(other: Any): Boolean
Definition Classes
Index -> Any
Inherited from
Index
def exists(p: T => Boolean): Boolean
Inherited from
IterableOnceOps
def filter(pred: T => Boolean): Iterable[T]
Inherited from
IterableOps
def filterNot(pred: T => Boolean): Iterable[T]
Inherited from
IterableOps
def find(p: T => Boolean): Option[T]
Inherited from
IterableOnceOps
def flatMap[B](f: T => IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def flatten[B](implicit asIterable: T => IterableOnce[B]): Iterable[B]
Inherited from
IterableOps
def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1
Inherited from
IterableOnceOps
def foldLeft[B](z: B)(op: (B, T) => B): B
Inherited from
IterableOnceOps
def foldRight[B](z: B)(op: (T, B) => B): B
Inherited from
IterableOnceOps
def forall(p: T => Boolean): Boolean
Inherited from
IterableOnceOps
def foreach[U](f: T => U): Unit
Inherited from
IterableOnceOps
protected def fromSpecific(coll: IterableOnce[T]): Iterable[T]
Inherited from
IterableFactoryDefaults
def get(i: Int): T

Returns an object at the given position or throws IndexOutOfBoundsException if it's not found.

Returns an object at the given position or throws IndexOutOfBoundsException if it's not found.

Inherited from
Index
def groupBy[K](f: T => K): Map[K, Iterable[T]]
Inherited from
IterableOps
def groupMap[K, B](key: T => K)(f: T => B): Map[K, Iterable[B]]
Inherited from
IterableOps
def groupMapReduce[K, B](key: T => K)(f: T => B)(reduce: (B, B) => B): Map[K, B]
Inherited from
IterableOps
def grouped(size: Int): Iterator[Iterable[T]]
Inherited from
IterableOps
override def hashCode: Int
Definition Classes
Index -> Any
Inherited from
Index
def head: T
Inherited from
IterableOps
def headOption: Option[T]
Inherited from
IterableOps
def indexOf(t: T): 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: T): 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[T]
Inherited from
IterableOps
def inits: Iterator[Iterable[T]]
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 iterator: Iterator[T]
Inherited from
IterableOnce
def knownSize: Int
Inherited from
IterableOnce
def last: T
Inherited from
IterableOps
def lastOption: Option[T]
Inherited from
IterableOps
def lazyZip[B](that: Iterable[B]): LazyZip2[T, B, MutableIndex[T]]
Inherited from
Iterable
def map[B](f: T => B): Iterable[B]
Inherited from
IterableOps
def max[B >: T](implicit ord: Ordering[B]): T
Inherited from
IterableOnceOps
def maxBy[B](f: T => B)(implicit cmp: Ordering[B]): T
Inherited from
IterableOnceOps
def maxByOption[B](f: T => B)(implicit cmp: Ordering[B]): Option[T]
Inherited from
IterableOnceOps
def maxOption[B >: T](implicit ord: Ordering[B]): Option[T]
Inherited from
IterableOnceOps
def min[B >: T](implicit ord: Ordering[B]): T
Inherited from
IterableOnceOps
def minBy[B](f: T => B)(implicit cmp: Ordering[B]): T
Inherited from
IterableOnceOps
def minByOption[B](f: T => B)(implicit cmp: Ordering[B]): Option[T]
Inherited from
IterableOnceOps
def minOption[B >: T](implicit ord: Ordering[B]): Option[T]
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[T, Iterable[T]]
Inherited from
IterableFactoryDefaults
@deprecatedOverriding(message = "nonEmpty is defined as !isEmpty; override isEmpty instead", since = "2.13.0")
def nonEmpty: Boolean
Inherited from
IterableOnceOps
def pairs: Iterator[(T, Int)]

Returns the indexed items along with their indicies

Returns the indexed items along with their indicies

Inherited from
Index
def partition(p: T => Boolean): (Iterable[T], Iterable[T])
Inherited from
IterableOps
def partitionMap[A1, A2](f: T => Either[A1, A2]): (Iterable[A1], Iterable[A2])
Inherited from
IterableOps
def product[B >: T](implicit num: Numeric[B]): B
Inherited from
IterableOnceOps
def reduce[B >: T](op: (B, B) => B): B
Inherited from
IterableOnceOps
def reduceLeft[B >: T](op: (B, T) => B): B
Inherited from
IterableOnceOps
def reduceLeftOption[B >: T](op: (B, T) => B): Option[B]
Inherited from
IterableOnceOps
def reduceOption[B >: T](op: (B, B) => B): Option[B]
Inherited from
IterableOnceOps
def reduceRight[B >: T](op: (T, B) => B): B
Inherited from
IterableOnceOps
def reduceRightOption[B >: T](op: (T, B) => B): Option[B]
Inherited from
IterableOnceOps
protected def reversed: Iterable[T]
Inherited from
IterableOnceOps
def scan[B >: T](z: B)(op: (B, B) => B): Iterable[B]
Inherited from
IterableOps
def scanLeft[B](z: B)(op: (B, T) => B): Iterable[B]
Inherited from
IterableOps
def scanRight[B](z: B)(op: (T, B) => B): Iterable[B]
Inherited from
IterableOps
def size: Int

Number of elements in this index.

Number of elements in this index.

Inherited from
Index
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[T]
Inherited from
IterableOps
def sliding(size: Int, step: Int): Iterator[Iterable[T]]
Inherited from
IterableOps
def sliding(size: Int): Iterator[Iterable[T]]
Inherited from
IterableOps
def span(p: T => Boolean): (Iterable[T], Iterable[T])
Inherited from
IterableOps
override def splitAt(n: Int): (Iterable[T], Iterable[T])
Definition Classes
IterableOps -> IterableOnceOps
Inherited from
IterableOps
def stepper[S <: Stepper[_]](implicit shape: StepperShape[T, S]): S
Inherited from
IterableOnce
def sum[B >: T](implicit num: Numeric[B]): B
Inherited from
IterableOnceOps
def tail: Iterable[T]
Inherited from
IterableOps
def tails: Iterator[Iterable[T]]
Inherited from
IterableOps
def take(n: Int): Iterable[T]
Inherited from
IterableOps
def takeRight(n: Int): Iterable[T]
Inherited from
IterableOps
def takeWhile(p: T => Boolean): Iterable[T]
Inherited from
IterableOps
override def tapEach[U](f: T => U): Iterable[T]
Definition Classes
IterableOps -> IterableOnceOps
Inherited from
IterableOps
def to[C1](factory: Factory[T, C1]): C1
Inherited from
IterableOnceOps
def toArray[B >: T](implicit ClassTag[B]): Array[B]
Inherited from
IterableOnceOps
@inline
final def toBuffer[B >: T]: Buffer[B]
Inherited from
IterableOnceOps
def toIndexedSeq: IndexedSeq[T]
Inherited from
IterableOnceOps
final def toIterable: MutableIndex[T]
Inherited from
Iterable
def toList: List[T]
Inherited from
IterableOnceOps
def toMap[K, V](implicit ev: T <:< (K, V)): Map[K, V]
Inherited from
IterableOnceOps
def toSeq: Seq[T]
Inherited from
IterableOnceOps
def toSet[B >: T]: Set[B]
Inherited from
IterableOnceOps
override def toString: String
Definition Classes
Index -> Function1 -> Iterable -> Any
Inherited from
Index
def toVector: Vector[T]
Inherited from
IterableOnceOps
def transpose[B](implicit asIterable: T => Iterable[B]): Iterable[Iterable[B]]
Inherited from
IterableOps
def unapply(i: Int): Option[T]

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 from
Index
def unzip[A1, A2](implicit asPair: T => (A1, A2)): (Iterable[A1], Iterable[A2])
Inherited from
IterableOps
def unzip3[A1, A2, A3](implicit asTriple: T => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])
Inherited from
IterableOps
def view: View[T]
Inherited from
IterableOps
def withFilter(p: T => Boolean): WithFilter[T, [A] =>> Iterable[A]]
Inherited from
IterableOps
def zip[B](that: IterableOnce[B]): Iterable[(T, B)]
Inherited from
IterableOps
def zipAll[A1 >: T, B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]
Inherited from
IterableOps
def zipWithIndex: Iterable[(T, Int)]
Inherited from
IterableOps
def |[U](right: Index[U]): EitherIndex[T, U]
Inherited from
Index

Deprecated and Inherited methods

@deprecated(message = "Use ++ instead of ++: for collections of type Iterable", since = "2.13.0")
def ++:[B >: T](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, T) => 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: (T, 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, T) => 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 >: T](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[T]
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: MutableIndex[T]
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[T]
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[T]
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[T]
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[T]
Deprecated
[Since version 2.13.0] Use .view.slice(from, until) instead of .view(from, until)
Inherited from
IterableOps