com.github.arturopala.bufferandslice

Type members

Classlikes

final class ArrayBuffer[T](initialArray: Array[T]) extends ArrayBufferLike[T]
Growable, mutable array of values.
Type Params
T
type of the underlying array items
Companion
object
object ArrayBuffer
Companion
class
trait ArrayBufferLike[T] extends Buffer[T]
Common buffer functions impl for array-backend buffers.
object ArrayOps
Array modifications helper.
final class ArraySlice[T] extends ArraySliceLike[T]
Lazy, immutable slice of an underlying array.
Type Params
T
type of the array's items
Note
Truly immutable only if an underlying array kept private or if detached.
Companion
object
object ArraySlice
Companion
class
trait ArraySliceLike[T] extends Slice[T]
Common functions of an array-backed Slice.
Type Params
T
type of the array's items
Note
Truly immutable only if an underlying array kept private, or if detached.
trait Buffer[T] extends Int => T
Mutable indexed buffer abstraction.
All modifications happens in-place.
In addition, the Buffer API offers both Stack- and List-like interfaces.
For the purpose of the List-like processing,
the head is a top element in the buffer.
Companion
object
object Buffer
Buffer factory.
Companion
class
final class ByteBuffer(initialSize: Int) extends ArrayBufferLike[Byte]
Growable, mutable array of bytes.
Companion
object
object ByteBuffer
ByteBuffer factory.
Companion
class
final class ByteSlice extends ArraySliceLike[Byte]
Lazy, specialized slice of the array of bytes.
Note
Truly immutable only if an underlying array kept private, or if detached.
Companion
object
object ByteSlice
Companion
class
final class DeferredArrayBuffer[T](initialLength: Int) extends ArrayBufferLike[T]
Growable, mutable array of values with deferred initialization.
Type Params
T
type of the underlying array items
Value Params
initialLength
initial length of the buffer
Note
This is to avoid ClassTag parameters as much as possible, but
comes with a price of a few rough corners. Especially, if your type
parameter is non-primitive do not try to call asArray and assign result to variable,
as it will raise ClassCastException,
instead pass the array as a parameter or call methods on it.
Companion
object
Companion
class
object IndexTracker
Set of functions to update buffers or sequences of indexes values
in order to match corresponding buffer operations.
Useful to track values and structures movement during buffer modifications.
final class IntBuffer(initialSize: Int) extends ArrayBufferLike[Int]
Growable, mutable array of integers.
Companion
object
object IntBuffer
IntBuffer factory.
Companion
class
final class IntSlice extends ArraySliceLike[Int]
Lazy, specialized slice of the array of integers.
Note
Truly immutable only if an underlying array kept private, or if detached.
Companion
object
object IntSlice
Companion
class
abstract class LazyMapArraySlice[T] extends Slice[T]
Lazily mapped slice of an underlying array.
Type Params
T
type of the array's items
Note
Truly immutable only if an underlying array kept private, or if detached.
Companion
object
Companion
class
class RangeMapSlice[T] extends Slice[T]
Lazily mapped slice of an index range.
Companion
object
Companion
class
trait Slice[T] extends Int => T
Lazy and immutable slice of a sequence of values.
Type Params
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.
Companion
object
object Slice
Slice companion object. Host factory methods.
Companion
class