abstract class Chunk[+O] extends Serializable
Strict, finite sequence of values that allows index-based random access of elements.
Chunk
s 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
). In contrast, a chunk can be lifted to a segment
(via toSegment
) to get arbitrary operator fusion.
- Source
- Chunk.scala
- Alphabetic
- By Inheritance
- Chunk
- Serializable
- Serializable
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Chunk()
Abstract Value Members
-
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.
-
abstract
def
size: Int
Returns the number of elements in this chunk.
-
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
-
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[O], 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
- @native() @throws( ... )
-
def
drop(n: Int): Chunk[O]
Drops the first
n
elements of this chunk. - def ensuring(cond: (Chunk[O]) ⇒ Boolean, msg: ⇒ Any): Chunk[O]
- def ensuring(cond: (Chunk[O]) ⇒ Boolean): Chunk[O]
- def ensuring(cond: Boolean, msg: ⇒ Any): Chunk[O]
- def ensuring(cond: Boolean): Chunk[O]
-
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
foldLeft[A](init: A)(f: (A, O) ⇒ A): A
Left-folds the elements of this chunk.
-
def
foreach(f: (O) ⇒ Unit): Unit
Invokes the supplied function for each element of this chunk.
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- Chunk → AnyRef → Any
-
def
head: Option[O]
Gets the first element of this chunk.
-
def
indexWhere(p: (O) ⇒ Boolean): Option[Int]
Returns the index of the first element which passes the specified predicate (i.e.,
p(i) == true
) orNone
if no elements pass the predicate. -
final
def
isEmpty: Boolean
True if size is zero, false otherwise.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
last: Option[O]
Gets the last element of this chunk.
-
def
map[O2](f: (O) ⇒ O2): Chunk[O2]
Creates a new chunk by applying
f
to each element in this chunk. -
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
nonEmpty: Boolean
False if size is zero, true otherwise.
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
splitAt(n: Int): (Chunk[O], Chunk[O])
Splits this chunk in to two chunks at the specified index.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
take(n: Int): Chunk[O]
Takes the first
n
elements of this chunk. -
def
toArray[O2 >: O](implicit arg0: ClassTag[O2]): Array[O2]
Copies the elements of this chunk to an array.
-
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. - def toByteBuffer[B >: O](implicit ev: =:=[B, Byte]): ByteBuffer
-
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. -
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. -
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. -
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. -
def
toList: List[O]
Converts this chunk to a list.
-
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. -
def
toSegment: Segment[O, Unit]
Converts this chunk to a segment.
-
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. -
def
toString(): String
- Definition Classes
- Chunk → AnyRef → Any
-
def
toVector: Vector[O]
Converts this chunk to a vector.
-
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
- @native() @throws( ... )
- def →[B](y: B): (Chunk[O], B)