Packages

abstract class Chunk[+O] extends Serializable with ChunkPlatform[O]

Strict, finite sequence of values that allows index-based random access of elements.

Chunks can be created from a variety of collection types using methods on the Chunk companion (e.g., Chunk.vector, Chunk.seq, Chunk.array). Additionally, the Chunk companion defines a subtype of Chunk for each primitive type, using an unboxed primitive array. To work with unboxed arrays, use methods like toBytes to convert a Chunk[Byte] to a Chunk.Bytes and then access the array directly.

The operations on Chunk are all defined strictly. For example, c.map(f).map(g).map(h) results in intermediate chunks being created (1 per call to map).

Self Type
Chunk[O]
Source
Chunk.scala
Linear Supertypes
ChunkPlatform[O], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Chunk
  2. ChunkPlatform
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Chunk()

Abstract Value Members

  1. abstract def apply(i: Int): O

    Returns the element at the specified index.

    Returns the element at the specified index. Throws if index is < 0 or >= size.

  2. abstract def copyToArray[O2 >: O](xs: Array[O2], start: Int = 0): Unit

    Copies the elements of this chunk in to the specified array at the specified start index.

  3. abstract def size: Int

    Returns the number of elements in this chunk.

  4. abstract def splitAtChunk_(n: Int): (Chunk[O], Chunk[O])

    Splits this chunk in to two chunks at the specified index n, which is guaranteed to be in-bounds.

    Splits this chunk in to two chunks at the specified index n, which is guaranteed to be in-bounds.

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. def collect[O2](pf: PartialFunction[O, O2]): Chunk[O2]

    More efficient version of filter(pf.isDefinedAt).map(pf).

  7. def drop(n: Int): Chunk[O]

    Drops the first n elements of this chunk.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(a: Any): Boolean
    Definition Classes
    Chunk → AnyRef → Any
  10. def filter(p: (O) => Boolean): Chunk[O]

    Returns a chunk that has only the elements that satisfy the supplied predicate.

  11. def find(p: (O) => Boolean): Option[O]

    Returns the first element for which the predicate returns true or None if no elements satisfy the predicate.

  12. def flatMap[O2](f: (O) => Chunk[O2]): Chunk[O2]

    Maps f over the elements of this chunk and concatenates the result.

  13. def foldLeft[A](init: A)(f: (A, O) => A): A

    Left-folds the elements of this chunk.

  14. def forall(p: (O) => Boolean): Boolean

    Returns true if the predicate passes for all elements.

  15. def foreach(f: (O) => Unit): Unit

    Invokes the supplied function for each element of this chunk.

  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int
    Definition Classes
    Chunk → AnyRef → Any
  18. def head: Option[O]

    Gets the first element of this chunk.

  19. def indexWhere(p: (O) => Boolean): Option[Int]

    Returns the index of the first element which passes the specified predicate (i.e., p(i) == true) or None if no elements pass the predicate.

  20. final def isEmpty: Boolean

    True if size is zero, false otherwise.

  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def iterator: Iterator[O]

    Creates an iterator that iterates the elements of this chunk.

    Creates an iterator that iterates the elements of this chunk. The returned iterator is not thread safe.

  23. def knownElementType[B](implicit classTag: ClassTag[B]): Boolean

    Returns true if this chunk is known to have elements of type B.

    Returns true if this chunk is known to have elements of type B. This is determined by checking if the chunk type mixes in Chunk.KnownElementType.

  24. def last: Option[O]

    Gets the last element of this chunk.

  25. def map[O2](f: (O) => O2): Chunk[O2]

    Creates a new chunk by applying f to each element in this chunk.

  26. def mapAccumulate[S, O2](init: S)(f: (S, O) => (S, O2)): (S, Chunk[O2])

    Maps the supplied stateful function over each element, outputting the final state and the accumulated outputs.

    Maps the supplied stateful function over each element, outputting the final state and the accumulated outputs. The first invocation of f uses init as the input state value. Each successive invocation uses the output state of the previous invocation.

  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def nonEmpty: Boolean

    False if size is zero, true otherwise.

  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  31. def reverseIterator: Iterator[O]

    Creates an iterator that iterates the elements of this chunk in reverse order.

    Creates an iterator that iterates the elements of this chunk in reverse order. The returned iterator is not thread safe.

  32. def scanLeft[O2](z: O2)(f: (O2, O) => O2): Chunk[O2]

    Like foldLeft but emits each intermediate result of f.

  33. def scanLeftCarry[O2](z: O2)(f: (O2, O) => O2): (Chunk[O2], O2)

    Like scanLeft except the final element is emitted as a standalone value instead of as the last element of the accumulated chunk.

    Like scanLeft except the final element is emitted as a standalone value instead of as the last element of the accumulated chunk.

    Equivalent to val b = a.scanLeft(z)(f); val (c, carry) = b.splitAt(b.size - 1).

  34. def scanLeft_[O2](z: O2, emitZero: Boolean)(f: (O2, O) => O2): (Chunk[O2], O2)
    Attributes
    protected
  35. def splitAt(n: Int): (Chunk[O], Chunk[O])

    Splits this chunk in to two chunks at the specified index.

  36. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  37. def take(n: Int): Chunk[O]

    Takes the first n elements of this chunk.

  38. def toArray[O2 >: O](implicit arg0: ClassTag[O2]): Array[O2]

    Copies the elements of this chunk to an array.

  39. def toArraySeq[O2 >: O](implicit arg0: ClassTag[O2]): ArraySeq[O2]
    Definition Classes
    ChunkPlatform
  40. def toArraySeqUntagged: ArraySeq[O]
    Definition Classes
    ChunkPlatform
  41. def toBitVector[B >: O](implicit ev: =:=[B, Byte]): BitVector

    Converts this chunk to a scodec-bits BitVector.

  42. def toBooleans[B >: O](implicit ev: =:=[B, Boolean]): Booleans

    Converts this chunk to a Chunk.Booleans, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Booleans, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of booleans, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  43. def toByteBuffer[B >: O](implicit ev: =:=[B, Byte]): ByteBuffer

    Converts this chunk to a java.nio.ByteBuffer.

  44. def toByteVector[B >: O](implicit ev: =:=[B, Byte]): ByteVector

    Converts this chunk to a scodec-bits ByteVector.

  45. def toBytes[B >: O](implicit ev: =:=[B, Byte]): Bytes

    Converts this chunk to a Chunk.Bytes, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Bytes, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of bytes, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  46. def toChain: Chain[O]

    Converts this chunk to a chain.

  47. def toDoubles[B >: O](implicit ev: =:=[B, Double]): Doubles

    Converts this chunk to a Chunk.Doubles, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Doubles, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of doubles, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  48. def toFloats[B >: O](implicit ev: =:=[B, Float]): Floats

    Converts this chunk to a Chunk.Floats, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Floats, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of doubles, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  49. def toInts[B >: O](implicit ev: =:=[B, Int]): Ints

    Converts this chunk to a Chunk.Ints, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Ints, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of bytes, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  50. def toList: List[O]

    Converts this chunk to a list.

  51. def toLongs[B >: O](implicit ev: =:=[B, Long]): Longs

    Converts this chunk to a Chunk.Longs, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Longs, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of longs, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  52. def toNel: Option[NonEmptyList[O]]

    Converts this chunk to a NonEmptyList

  53. def toShorts[B >: O](implicit ev: =:=[B, Short]): Shorts

    Converts this chunk to a Chunk.Shorts, allowing access to the underlying array of elements.

    Converts this chunk to a Chunk.Shorts, allowing access to the underlying array of elements. If this chunk is already backed by an unboxed array of bytes, this method runs in constant time. Otherwise, this method will copy of the elements of this chunk in to a single array.

  54. def toString(): String
    Definition Classes
    Chunk → AnyRef → Any
  55. def toVector: Vector[O]

    Converts this chunk to a vector.

  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  59. def zip[O2](that: Chunk[O2]): Chunk[(O, O2)]

    Zips this chunk the the supplied chunk, returning a chunk of tuples.

  60. def zipWith[O2, O3](that: Chunk[O2])(f: (O, O2) => O3): Chunk[O3]

    Zips this chunk with the supplied chunk, passing each pair to f, resulting in an output chunk.

  61. def zipWithIndex: Chunk[(O, Int)]

    Zips the elements of the input chunk with its indices, and returns the new chunk.

    Zips the elements of the input chunk with its indices, and returns the new chunk.

    Example:
    1. scala> Chunk("The", "quick", "brown", "fox").zipWithIndex.toList
      res0: List[(String, Int)] = List((The,0), (quick,1), (brown,2), (fox,3))

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from ChunkPlatform[O]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped