trait Chunk[+A] extends AnyRef
A strict, in-memory sequence of A
values.
Chunks can be constructed via various constructor methods on the Chunk
companion object.
Chunks are internally specialized for both single element chunks and unboxed arrays of primitives.
Supports unboxed operations for booleans, bytes, longs, and doubles, using a
Chunk
implementation that is backed by an array of primitives. When possible,
operations on Chunk
preserves unboxed-ness. To get access the underlying
unboxed arrays, use toBooleans
, toBytes
, toLongs
, and toDoubles
.
Note: the NonEmptyChunk type is a subtype of Chunk
which is limited to chunks with at least
one element.
- Self Type
- Chunk[A]
- Source
- Chunk.scala
- Alphabetic
- By Inheritance
- Chunk
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
apply(i: Int): A
Gets the
i
-th element of this chunk, throwing anIndexOutOfBoundsException
if the index is not in the range[0,size)
. -
abstract
def
copyToArray[B >: A](xs: Array[B], start: Int = 0): Unit
Copies the elements of this chunk in to the specified array at the specified start index.
-
abstract
def
drop(n: Int): Chunk[A]
Returns a new chunk made up of the elemenets of this chunk without the first
n
elements. -
abstract
def
filter(f: (A) ⇒ Boolean): Chunk[A]
Returns a new chunk made up of the elements of this chunk for which the specified predicate returns true.
-
abstract
def
foldLeft[B](z: B)(f: (B, A) ⇒ B): B
Reduces this chunk to a value of type
B
by applyingf
to each element, left to right, passing the output of each invocation off
to the next invocation off
and starting withz
. -
abstract
def
foldRight[B](z: B)(f: (A, B) ⇒ B): B
Reduces this chunk to a value of type
B
by applyingf
to each element, right to left, passing the output of each invocation off
to the next invocation off
and starting withz
. -
abstract
def
size: Int
Returns the number of elements in this chunk.
-
abstract
def
take(n: Int): Chunk[A]
Returns a new chunk made up of the first
n
elemenets of this chunk.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Chunk[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
collect[B](pf: PartialFunction[A, B]): Chunk[B]
Maps and filters this chunk simultaneously using the supplied partial function.
- def ensuring(cond: (Chunk[A]) ⇒ Boolean, msg: ⇒ Any): Chunk[A]
- def ensuring(cond: (Chunk[A]) ⇒ Boolean): Chunk[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Chunk[A]
- def ensuring(cond: Boolean): Chunk[A]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(a: Any): Boolean
- Definition Classes
- Chunk → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- Chunk → AnyRef → Any
-
def
indexWhere(p: (A) ⇒ Boolean): Option[Int]
Returns the index of the first element for which
p
returns true. -
def
isEmpty: Boolean
Returns true if this chunk has no elements.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
iterator: Iterator[A]
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.
-
def
map[B](f: (A) ⇒ B): Chunk[B]
Applies
f
to each element of this chunk, resulting in a new chunk of the same size. -
def
mapAccumulate[S, B](s0: S)(f: (S, A) ⇒ (S, B)): (S, Chunk[B])
Simultaneously folds and maps this chunk, returning the output of the fold and the transformed chunk.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nonEmpty: Boolean
Returns true if this chunk has at least 1 element.
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
scanLeft[B](z: B)(f: (B, A) ⇒ B): Chunk[B]
Like
foldLeft
but each intermediateB
value is output. -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
Copies the elements of this chunk to an array.
-
def
toBooleans[B >: A](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. -
def
toBytes[B >: A](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. -
def
toDoubles[B >: A](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. -
def
toList: List[A]
Converts this chunk to a list.
-
def
toLongs[B >: A](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. -
def
toString(): String
- Definition Classes
- Chunk → AnyRef → Any
-
def
toVector: Vector[A]
Converts this chunk to a vector.
-
def
uncons: Option[(A, Chunk[A])]
If this chunk is non-empty, returns the first element of the chunk and the rest as a new chunk.
If this chunk is non-empty, returns the first element of the chunk and the rest as a new chunk. Otherwise, returns none.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def →[B](y: B): (Chunk[A], B)