Slice

trait Slice[T] extends Int => T
Lazy and immutable slice of a sequence of values.
Type Params
T
type of the items of the sequence.
Note
As the slice usually wraps over a mutable structure,
like an array or a java buffer, and it DOES NOT
make an instant copy, any changes to the underlying source will
directly affect the slice output unless detached.
Detach is a one-time copy operation, and detached property is
preserved across all operations returning a Slice.
Companion
object
trait Int => T
class Object
trait Matchable
class Any

Document{}

final override def apply(index: Int): T
Returns value at the given index.
Definition Classes
Function1
def update[T1 >: T](index: Int, value: T1): Slice[T1]
Update a value at the given index.
Creates a copy of an underlying data.
val length: Int
Returns length of the Slice.
@inline
final def top: Int
Returns top index value (length-1).
final def isEmpty: Boolean
Returns true if Slice has values, otherwise false.
@inline
final def nonEmpty: Boolean
Returns true if Slice has values, otherwise false.
def map[K](f: T => K): Slice[K]
Lazily composes mapping function and returns new Slice.
Does not modify nor copy underlying array.
final def count(pred: T => Boolean): Int
Counts values fulfilling the predicate.
final def foldLeft[R](initial: R)(f: (R, T) => R): R
Folds from left to right all elements, starting with initial.
final def foldRight[R](initial: R)(f: (T, R) => R): R
Folds from right to left all elements, starting with initial.
final def fold(initial: T)(f: (T, T) => T): T
Combines from left to right all elements, starting with initial.
final def reduce(f: (T, T) => T): T
Combines from right to left all elements.
final def last: T
Returns the last value in the Slice.
final def headOption: Option[T]
Returns first value in the Slice.
final def lastOption: Option[T]
Returns the last value in the Slice.
def slice(from: Int, to: Int): Slice
Lazily narrows Slice to provided range.
@inline
final def tail: Slice
Returns the Slice without first value.
@inline
final def init: Slice
Returns the Slice without last value.
@inline
final def take(n: Int): Slice
Lazily narrows Slice to first N items.
@inline
final def takeRight(n: Int): Slice
Lazily narrows Slice to last N items.
@inline
final def drop(n: Int): Slice
Lazily narrows Slice to exclude first N items.
@inline
final def dropRight(n: Int): Slice
Lazily narrows Slice to exclude last N items.
final def iterator: Iterator[T]
Returns iterator over Slice values.
final def iterator(pred: T => Boolean): Iterator[T]
Returns iterator over Slice values fulfilling the predicate.
final def indexIterator(pred: T => Boolean): Iterator[Int]
Returns iterator over Slice indexes of values fulfilling the predicate.
final def reverseIterator: Iterator[T]
Returns iterator over Slice values in the reverse order.
final def reverseIterator(pred: T => Boolean): Iterator[T]
Returns iterator over Slice values fulfilling the predicate, in the reverse order.
final def reverseIndexIterator(pred: T => Boolean): Iterator[Int]
Returns iterator over Slice indexes of values fulfilling the predicate, in the reverse order.
@inline
final def toList: List[T]
Returns new list of Slice values.
@inline
final def toSeq: Seq[T]
Returns new sequence of Slice values.
final def asIterable: Iterable[T]
Returns new iterable of Slice values.
final def toArray[T1 >: T](evidence$1: ClassTag[T1]): Array[T1]
Returns a trimmed copy of an underlying array.
def asArray: Array[T]
Returns a trimmed copy of an underlying array.
Detaches a slice creating a trimmed copy of an underlying data, if needed.
Subsequent detach operations will return the same instance without making new copies.
def copyToArray[T1 >: T](targetIndex: Int, targetArray: Array[T1]): Array[T1]
Dumps content to the array, starting from an index.
def toBuffer[T1 >: T]: Buffer[T1]
Returns a buffer with a copy of this Slice.
Returns a buffer with a copy of this Slice.

Value members

Methods

final def get(index: Int): Option[T]
Returns Some of the value at the index,
or None if index outside of range.
final def find(pred: T => Boolean): Option[T]
Returns Some of the first value fulfilling the predicate, or None.
final def exists(pred: T => Boolean): Boolean
Returns true if any value fulfills the predicate, or false.
final override def toString: String
Definition Classes
Function1 -> Any
final override def equals(obj: Any): Boolean
Definition Classes
Any
final override def hashCode(): Int
Definition Classes
Any

Inherited methods

@unspecialized
def compose[A](g: A => T1): A => R
Inhertied from
Function1
@unspecialized
def andThen[A](g: R => A): T1 => A
Inhertied from
Function1