Trait/Object

com.github.arturopala.bufferandslice

Slice

Related Docs: object Slice | package bufferandslice

Permalink

trait Slice[T] extends (Int) ⇒ T

Lazy and immutable slice of a sequence of values.

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.

Linear Supertypes
(Int) ⇒ T, AnyRef, Any
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Slice
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def asArray: Array[T]

    Permalink

    Returns a trimmed copy of an underlying array.

  2. abstract def asBuffer: Buffer[T]

    Permalink

    Returns a buffer with a copy of this Slice.

  3. abstract def detach: Slice.this.type

    Permalink

    Detaches a slice creating a trimmed copy of an underlying data, if needed.

    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.

  4. abstract val length: Int

    Permalink

    Returns length of the Slice.

  5. abstract def map[K](f: (T) ⇒ K): Slice[K]

    Permalink

    Lazily composes mapping function and returns new Slice.

    Lazily composes mapping function and returns new Slice. Does not modify nor copy underlying array.

  6. abstract def read(index: Int): T

    Permalink

    Returns value at the given index without checks.

    Returns value at the given index without checks.

    Attributes
    protected
  7. abstract def slice(from: Int, to: Int): Slice.this.type

    Permalink

    Lazily narrows Slice to provided range.

  8. abstract def toBuffer[T1 >: T]: Buffer[T1]

    Permalink

    Returns a buffer with a copy of this Slice.

  9. abstract def update[T1 >: T](index: Int, value: T1): Slice[T1]

    Permalink

    Update a value at the given index.

    Update a value at the given index. Creates a copy of an underlying data.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (T) ⇒ A): (Int) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def apply(index: Int): T

    Permalink

    Returns value at the given index.

    Returns value at the given index.

    Definition Classes
    Slice → Function1
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. final def asIterable: Iterable[T]

    Permalink

    Returns new iterable of Slice values.

  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def compose[A](g: (A) ⇒ Int): (A) ⇒ T

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  10. def copyToArray[T1 >: T](targetIndex: Int, targetArray: Array[T1]): Array[T1]

    Permalink

    Dumps content to the array, starting from an index.

  11. final def count(pred: (T) ⇒ Boolean): Int

    Permalink

    Counts values fulfilling the predicate.

  12. final def drop(n: Int): Slice.this.type

    Permalink

    Lazily narrows Slice to exclude first N items.

    Lazily narrows Slice to exclude first N items.

    Annotations
    @inline()
  13. final def dropRight(n: Int): Slice.this.type

    Permalink

    Lazily narrows Slice to exclude last N items.

    Lazily narrows Slice to exclude last N items.

    Annotations
    @inline()
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def equals(obj: Any): Boolean

    Permalink
    Definition Classes
    Slice → AnyRef → Any
  16. final def exists(pred: (T) ⇒ Boolean): Boolean

    Permalink

    Returns true if any value fulfills the predicate, or false.

  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def find(pred: (T) ⇒ Boolean): Option[T]

    Permalink

    Returns Some of the first value fulfilling the predicate, or None.

  19. final def fold(initial: T)(f: (T, T) ⇒ T): T

    Permalink

    Combines from left to right all elements, starting with initial.

  20. final def foldLeft[R](initial: R)(f: (R, T) ⇒ R): R

    Permalink

    Folds from left to right all elements, starting with initial.

  21. final def foldRight[R](initial: R)(f: (T, R) ⇒ R): R

    Permalink

    Folds from right to left all elements, starting with initial.

  22. final def get(index: Int): Option[T]

    Permalink

    Returns Some of the value at the index, or None if index outside of range.

  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def hashCode(): Int

    Permalink
    Definition Classes
    Slice → AnyRef → Any
  25. final def head: T

    Permalink

    Returns first value in the Slice.

  26. final def headOption: Option[T]

    Permalink

    Returns first value in the Slice.

  27. final def indexIterator(pred: (T) ⇒ Boolean): Iterator[Int]

    Permalink

    Returns iterator over Slice indexes of values fulfilling the predicate.

  28. final def init: Slice.this.type

    Permalink

    Returns the Slice without last value.

    Returns the Slice without last value.

    Annotations
    @inline()
  29. final def isEmpty: Boolean

    Permalink

    Returns true if Slice has values, otherwise false.

  30. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  31. final def iterator(pred: (T) ⇒ Boolean): Iterator[T]

    Permalink

    Returns iterator over Slice values fulfilling the predicate.

  32. final def iterator: Iterator[T]

    Permalink

    Returns iterator over Slice values.

  33. final def last: T

    Permalink

    Returns the last value in the Slice.

  34. final def lastOption: Option[T]

    Permalink

    Returns the last value in the Slice.

  35. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  36. final def nonEmpty: Boolean

    Permalink

    Returns true if Slice has values, otherwise false.

    Returns true if Slice has values, otherwise false.

    Annotations
    @inline()
  37. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  39. final def reduce(f: (T, T) ⇒ T): T

    Permalink

    Combines from right to left all elements.

  40. final def reverseIndexIterator(pred: (T) ⇒ Boolean): Iterator[Int]

    Permalink

    Returns iterator over Slice indexes of values fulfilling the predicate, in the reverse order.

  41. final def reverseIterator(pred: (T) ⇒ Boolean): Iterator[T]

    Permalink

    Returns iterator over Slice values fulfilling the predicate, in the reverse order.

  42. final def reverseIterator: Iterator[T]

    Permalink

    Returns iterator over Slice values in the reverse order.

  43. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  44. final def tail: Slice.this.type

    Permalink

    Returns the Slice without first value.

    Returns the Slice without first value.

    Annotations
    @inline()
  45. final def take(n: Int): Slice.this.type

    Permalink

    Lazily narrows Slice to first N items.

    Lazily narrows Slice to first N items.

    Annotations
    @inline()
  46. final def takeRight(n: Int): Slice.this.type

    Permalink

    Lazily narrows Slice to last N items.

    Lazily narrows Slice to last N items.

    Annotations
    @inline()
  47. final def toArray[T1 >: T](implicit arg0: ClassTag[T1]): Array[T1]

    Permalink

    Returns a trimmed copy of an underlying array.

  48. final def toList: List[T]

    Permalink

    Returns new list of Slice values.

    Returns new list of Slice values.

    Annotations
    @inline()
  49. final def toSeq: Seq[T]

    Permalink

    Returns new sequence of Slice values.

    Returns new sequence of Slice values.

    Annotations
    @inline()
  50. final def toString(): String

    Permalink
    Definition Classes
    Slice → Function1 → AnyRef → Any
  51. final def top: Int

    Permalink

    Returns top index value (length-1).

    Returns top index value (length-1).

    Annotations
    @inline()
  52. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from (Int) ⇒ T

Inherited from AnyRef

Inherited from Any

Properties

Access

Transform

Aggregate

Iterate

Export

Internal

Ungrouped