Package

com.github.arturopala

bufferandslice

Permalink

package bufferandslice

Visibility
  1. Public
  2. All

Type Members

  1. final class ArrayBuffer[T] extends ArrayBufferLike[T]

    Permalink

    Growable, mutable array of values.

    Growable, mutable array of values.

    T

    type of the underlying array items

  2. trait ArrayBufferLike[T] extends Buffer[T]

    Permalink

    Common buffer functions impl for array-backend buffers.

  3. final class ArraySlice[T] extends ArraySliceLike[T]

    Permalink

    Lazy, immutable slice of an underlying array.

    Lazy, immutable slice of an underlying array.

    T

    type of the array's items

    Note

    Truly immutable only if an underlying array kept private or if detached.

  4. trait ArraySliceLike[T] extends Slice[T]

    Permalink

    Common functions of an array-backed Slice.

    Common functions of an array-backed Slice.

    T

    type of the array's items

    Note

    Truly immutable only if an underlying array kept private, or if detached.

  5. trait Buffer[T] extends (Int) ⇒ T

    Permalink

    Mutable indexed buffer abstraction.

    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.

  6. final class ByteBuffer extends ArrayBufferLike[Byte]

    Permalink

    Growable, mutable array of bytes.

  7. final class ByteSlice extends ArraySliceLike[Byte]

    Permalink

    Lazy, specialized slice of the array of bytes.

    Lazy, specialized slice of the array of bytes.

    Note

    Truly immutable only if an underlying array kept private, or if detached.

  8. final class DeferredArrayBuffer[T] extends ArrayBufferLike[T]

    Permalink

    Growable, mutable array of values with deferred initialization.

    Growable, mutable array of values with deferred initialization.

    T

    type of the underlying array items

    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.

  9. final class IntBuffer extends ArrayBufferLike[Int]

    Permalink

    Growable, mutable array of integers.

  10. final class IntSlice extends ArraySliceLike[Int]

    Permalink

    Lazy, specialized slice of the array of integers.

    Lazy, specialized slice of the array of integers.

    Note

    Truly immutable only if an underlying array kept private, or if detached.

  11. abstract class LazyMapArraySlice[T] extends Slice[T]

    Permalink

    Lazily mapped slice of an underlying array.

    Lazily mapped slice of an underlying array.

    T

    type of the array's items

    Note

    Truly immutable only if an underlying array kept private, or if detached.

  12. class RangeMapSlice[T] extends Slice[T]

    Permalink

    Lazily mapped slice of an index range.

  13. trait Slice[T] extends (Int) ⇒ T

    Permalink

    Lazy and immutable slice of a sequence of values.

    Lazy and immutable slice of a sequence of values.

    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.

Value Members

  1. object ArrayBuffer

    Permalink
  2. object ArrayOps

    Permalink

    Array modifications helper.

  3. object ArraySlice

    Permalink
  4. object Buffer

    Permalink

    Buffer factory.

  5. object ByteBuffer

    Permalink

    ByteBuffer factory.

  6. object ByteSlice

    Permalink
  7. object DeferredArrayBuffer

    Permalink
  8. object IndexTracker

    Permalink

    Set of functions to update buffers or sequences of indexes values in order to match corresponding buffer operations.

    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.

  9. object IntBuffer

    Permalink

    IntBuffer factory.

  10. object IntSlice

    Permalink
  11. object LazyMapArraySlice

    Permalink
  12. object RangeMapSlice

    Permalink
  13. object Slice

    Permalink

    Slice companion object.

    Slice companion object. Host factory methods.

Ungrouped