Queue

final class Queue[+O] extends Chunk[O]

A FIFO queue of chunks that provides an O(1) size method and provides the ability to take and drop individual elements while preserving the chunk structure as much as possible.

This is similar to a queue of individual elements but chunk structure is maintained.

Companion:
object
Source:
Chunk.scala
class Chunk[O]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

override def ++[O2 >: O](that: Chunk[O2]): Chunk[O2]
Definition Classes
Source:
Chunk.scala
def +:[O2 >: O](c: Chunk[O2]): Queue[O2]

Prepends a chunk to the start of this chunk queue.

Prepends a chunk to the start of this chunk queue.

Source:
Chunk.scala
def :+[O2 >: O](c: Chunk[O2]): Queue[O2]

Appends a chunk to the end of this chunk queue.

Appends a chunk to the end of this chunk queue.

Source:
Chunk.scala
def apply(i: Int): O
def copyToArray[O2 >: O](xs: Array[O2], start: Int): Unit
override def drop(n: Int): Queue[O]
Definition Classes
Source:
Chunk.scala
override def foreach(f: O => Unit): Unit
Definition Classes
Source:
Chunk.scala
override def foreachWithIndex(f: (O, Int) => Unit): Unit
Definition Classes
Source:
Chunk.scala
override def iterator: Iterator[O]
Definition Classes
Source:
Chunk.scala
override def reverseIterator: Iterator[O]
Definition Classes
Source:
Chunk.scala
override def startsWith[O2 >: O](seq: Seq[O2]): Boolean
Definition Classes
Source:
Chunk.scala
override def take(n: Int): Queue[O]
Definition Classes
Source:
Chunk.scala
override def toByteVector[B >: O](implicit ev: B =:= Byte): ByteVector
Definition Classes
Source:
Chunk.scala
override def traverse[F[_], O2](f: O => F[O2])(implicit F: Applicative[F]): F[Chunk[O2]]
Definition Classes
Source:
Chunk.scala
override def traverseFilter[F[_], O2](f: O => F[Option[O2]])(implicit F: Applicative[F]): F[Chunk[O2]]
Definition Classes
Source:
Chunk.scala

Inherited methods

def collect[O2](pf: PartialFunction[O, O2]): Chunk[O2]

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

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

Inherited from:
Chunk
Source:
Chunk.scala
def compact[O2 >: O](implicit ct: ClassTag[O2]): ArraySlice[O2]

Converts this chunk to a chunk backed by a single array.

Converts this chunk to a chunk backed by a single array.

Alternatively, call toIndexedChunk to get back a chunk with guaranteed O(1) indexed lookup while also minimizing copying.

Inherited from:
Chunk
Source:
Chunk.scala
def dropRight(n: Int): Chunk[O]

Drops the right-most n elements of this chunk queue in a way that preserves chunk structure.

Drops the right-most n elements of this chunk queue in a way that preserves chunk structure.

Inherited from:
Chunk
Source:
Chunk.scala
override def equals(a: Any): Boolean
Definition Classes
Chunk -> Any
Inherited from:
Chunk
Source:
Chunk.scala
def filter(p: O => Boolean): Chunk[O]

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

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

Inherited from:
Chunk
Source:
Chunk.scala
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.

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

Inherited from:
Chunk
Source:
Chunk.scala
def flatMap[O2](f: O => Chunk[O2]): Chunk[O2]

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

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

Inherited from:
Chunk
Source:
Chunk.scala
def foldLeft[A](init: A)(f: (A, O) => A): A

Left-folds the elements of this chunk.

Left-folds the elements of this chunk.

Inherited from:
Chunk
Source:
Chunk.scala
def forall(p: O => Boolean): Boolean

Returns true if the predicate passes for all elements.

Returns true if the predicate passes for all elements.

Inherited from:
Chunk
Source:
Chunk.scala
override def hashCode: Int
Definition Classes
Chunk -> Any
Inherited from:
Chunk
Source:
Chunk.scala
def head: Option[O]

Gets the first element of this chunk.

Gets the first element of this chunk.

Inherited from:
Chunk
Source:
Chunk.scala
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.

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.

Inherited from:
Chunk
Source:
Chunk.scala
final def isEmpty: Boolean

True if size is zero, false otherwise.

True if size is zero, false otherwise.

Inherited from:
Chunk
Source:
Chunk.scala
def last: Option[O]

Gets the last element of this chunk.

Gets the last element of this chunk.

Inherited from:
Chunk
Source:
Chunk.scala
def map[O2](f: O => O2): Chunk[O2]

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

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

Inherited from:
Chunk
Source:
Chunk.scala
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. The first invocation of f uses init as the input state value. Each successive invocation uses the output state of the previous invocation.

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.

Inherited from:
Chunk
Source:
Chunk.scala
def mapFilter[O2](f: O => Option[O2]): Chunk[O2]

Maps the supplied function over each element and returns a chunk of just the defined results.

Maps the supplied function over each element and returns a chunk of just the defined results.

Inherited from:
Chunk
Source:
Chunk.scala
final def nonEmpty: Boolean

False if size is zero, true otherwise.

False if size is zero, true otherwise.

Inherited from:
Chunk
Source:
Chunk.scala
def scanLeft[O2](z: O2)(f: (O2, O) => O2): Chunk[O2]

Like foldLeft but emits each intermediate result of f.

Like foldLeft but emits each intermediate result of f.

Inherited from:
Chunk
Source:
Chunk.scala
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).

Inherited from:
Chunk
Source:
Chunk.scala
def splitAt(n: Int): (Chunk[O], Chunk[O])

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

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

Inherited from:
Chunk
Source:
Chunk.scala
def takeRight(n: Int): Chunk[O]

Takes the right-most n elements of this chunk queue in a way that preserves chunk structure.

Takes the right-most n elements of this chunk queue in a way that preserves chunk structure.

Inherited from:
Chunk
Source:
Chunk.scala
def to(collector: Collector[O]): Out

Converts this chunk to a new collection using the supplied collector.

Converts this chunk to a new collection using the supplied collector.

Example:
scala> Chunk(1, 2, 3).to(Set)
Inherited from:
Chunk
Source:
Chunk.scala
def toArray[O2 >: O : ClassTag]: Array[O2]

Copies the elements of this chunk to an array.

Copies the elements of this chunk to an array.

Inherited from:
Chunk
Source:
Chunk.scala
def toArraySeq[O2 >: O : ClassTag]: ArraySeq[O2]
Inherited from:
ChunkPlatform (hidden)
Source:
ChunkPlatform.scala
Inherited from:
ChunkPlatform (hidden)
Source:
ChunkPlatform.scala
def toArraySlice[O2 >: O](implicit ct: ClassTag[O2]): ArraySlice[O2]

Converts this chunk to a Chunk.ArraySlice.

Converts this chunk to a Chunk.ArraySlice.

Inherited from:
Chunk
Source:
Chunk.scala
def toBitVector[B >: O](implicit ev: B =:= Byte): BitVector

Converts this chunk to a scodec-bits BitVector.

Converts this chunk to a scodec-bits BitVector.

Inherited from:
Chunk
Source:
Chunk.scala
def toByteBuffer[B >: O](implicit ev: B =:= Byte): ByteBuffer

Converts this chunk to a java.nio.ByteBuffer.

Converts this chunk to a java.nio.ByteBuffer.

Inherited from:
Chunk
Source:
Chunk.scala
def toChain: Chain[O]

Converts this chunk to a chain.

Converts this chunk to a chain.

Inherited from:
Chunk
Source:
Chunk.scala
def toIArray[O2 >: O : ClassTag]: IArray[O2]
Inherited from:
ChunkPlatform (hidden)
Source:
ChunkPlatform.scala
def toIArraySlice[O2 >: O](implicit ct: ClassTag[O2]): IArraySlice[O2]
Inherited from:
ChunkPlatform (hidden)
Source:
ChunkPlatform.scala

Returns a chunk with guaranteed O(1) lookup by index.

Returns a chunk with guaranteed O(1) lookup by index.

Unlike compact, this operation does not copy any elements unless this chunk does not provide O(1) lookup by index -- e.g., a chunk built via 1 or more usages of ++.

Inherited from:
Chunk
Source:
Chunk.scala
def toList: List[O]

Converts this chunk to a list.

Converts this chunk to a list.

Inherited from:
Chunk
Source:
Chunk.scala

Converts this chunk to a NonEmptyList

Converts this chunk to a NonEmptyList

Inherited from:
Chunk
Source:
Chunk.scala
override def toString: String
Definition Classes
Chunk -> Any
Inherited from:
Chunk
Source:
Chunk.scala

Converts this chunk to a vector.

Converts this chunk to a vector.

Inherited from:
Chunk
Source:
Chunk.scala
def zip[O2](that: Chunk[O2]): Chunk[(O, O2)]

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

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

Inherited from:
Chunk
Source:
Chunk.scala
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.

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

Inherited from:
Chunk
Source:
Chunk.scala

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:
scala> Chunk("The", "quick", "brown", "fox").zipWithIndex.toList
res0: List[(String, Int)] = List((The,0), (quick,1), (brown,2), (fox,3))
Inherited from:
Chunk
Source:
Chunk.scala

Deprecated and Inherited methods

@deprecated("Unsound when used with primitives, use compactBoxed instead", "3.1.6")
def compactUntagged[O2 >: O]: ArraySlice[O2]

Like compact but does not require a ClassTag. Elements are boxed and stored in an Array[Any].

Like compact but does not require a ClassTag. Elements are boxed and stored in an Array[Any].

Deprecated
Inherited from:
Chunk
Source:
Chunk.scala

Concrete fields

val chunks: Queue[Chunk[O]]
val size: Int