Trait/Object

com.github.arturopala.bufferandslice

Buffer

Related Docs: object Buffer | package bufferandslice

Permalink

trait Buffer[T] extends (Int) ⇒ T

Mutable indexed buffer abstraction.

Linear Supertypes
(Int) ⇒ T, AnyRef, Any
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Buffer
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(index: Int): T

    Permalink

    Returns value at the provided index.

    Returns value at the provided index.

    Definition Classes
    Buffer → Function1
  2. abstract def ensureIndex(index: Int): Unit

    Permalink

    Ensures buffer capacity to address provided index.

    Ensures buffer capacity to address provided index.

    Attributes
    protected
  3. abstract def insertArray(index: Int, sourceIndex: Int, insertLength: Int, sourceArray: Array[T]): Buffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, and copies array chunk into the gap.

    Shift current content to the right starting from indexat the insertLength distance, and copies array chunk into the gap. Sets topIndex to be at least at the end of the new chunk of values.

  4. abstract def shiftLeft(index: Int, distance: Int): Buffer.this.type

    Permalink

    Moves values [index, length) left to [index-distance, length - distance).

    Moves values [index, length) left to [index-distance, length - distance). Effectively removes range (index-distance, index]. Ignores negative distance. Moves topIndex if affected.

  5. abstract def shiftRight(index: Int, distance: Int): Buffer.this.type

    Permalink

    Moves values [index, length) right to [index+distance, length + distance).

    Moves values [index, length) right to [index+distance, length + distance). Effectively creates a new range [index, index+distance). Ignores negative distance. Does not clear existing values inside [index, index+distance). Moves topIndex if affected.

  6. abstract def toArray: Array[T]

    Permalink

    Returns an Array representing accessible buffer range.

  7. abstract def toSlice: Slice[T]

    Permalink

    Returns a Slice representing accessible buffer range.

  8. abstract def update(index: Int, value: T): Buffer.this.type

    Permalink

    Updates value at the provided index.

    Updates value at the provided index.

    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (T) ⇒ A): (Int) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def append(value: T): Buffer.this.type

    Permalink

    Appends value at the end of buffer and advances topIndex.

    Appends value at the end of buffer and advances topIndex.

    Annotations
    @inline()
  6. final def appendArray(values: Array[T]): Buffer.this.type

    Permalink

    Appends values from the given array at the end of buffer and advances topIndex.

    Appends values from the given array at the end of buffer and advances topIndex.

    Annotations
    @inline()
  7. final def appendFromIterator(iterator: Iterator[T]): Buffer.this.type

    Permalink

    Appends values from the given iterator at the end of buffer and advances topIndex.

  8. final def appendIterable(iterable: Iterable[T]): Buffer.this.type

    Permalink

    Appends values from the given iterable at the end of buffer and advances topIndex.

    Appends values from the given iterable at the end of buffer and advances topIndex.

    Annotations
    @inline()
  9. final def appendSequence(values: IndexedSeq[T]): Buffer.this.type

    Permalink

    Appends values from the given sequence at the end of buffer and advances topIndex.

    Appends values from the given sequence at the end of buffer and advances topIndex.

    Annotations
    @inline()
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def compose[A](g: (A) ⇒ Int): (A) ⇒ T

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def insertFromIterator(index: Int, insertLength: Int, iterator: Iterator[T]): Buffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, and copies iterated values into the gap.

    Shift current content to the right starting from indexat the insertLength distance, and copies iterated values into the gap. Sets topIndex to be at least at the end of the new chunk of values.

  19. final def insertValues(index: Int, sourceIndex: Int, insertLength: Int, source: (Int) ⇒ T): Buffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, iterates over the source indexes and copies values into the gap.

    Shift current content to the right starting from indexat the insertLength distance, iterates over the source indexes and copies values into the gap. Sets topIndex to be at least at the end of the new chunk of values.

  20. final def isEmpty: Boolean

    Permalink

    Is the accessible part of the buffer empty?

    Is the accessible part of the buffer empty?

    Annotations
    @inline()
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. final def length: Int

    Permalink

    Length of the accessible part of the buffer.

  23. def modify(index: Int, f: (T) ⇒ T): Buffer.this.type

    Permalink

    Updates value at the provided index using the function.

    Updates value at the provided index using the function. Index must fall within range [0,length).

    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  24. def modifyRange(fromIndex: Int, toIndex: Int, f: (T) ⇒ T): Buffer.this.type

    Permalink

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. final def nonEmpty: Boolean

    Permalink

    Is the accessible part of the buffer non empty?

    Is the accessible part of the buffer non empty?

    Annotations
    @inline()
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. final def peek: T

    Permalink

    Returns value at the topIndex.

  30. final def pop: T

    Permalink

    Returns value at the topIndex, and moves topIndex back.

  31. final def push(value: T): Buffer.this.type

    Permalink

    Appends value to the topIndex.

    Appends value to the topIndex. Same as append

    Annotations
    @inline()
  32. final def reset: Int

    Permalink

    Resets buffer, sets topIndex to -1.

    Resets buffer, sets topIndex to -1. Does not clear existing values.

    returns

    previous topIndex

  33. final def set(index: Int): Buffer.this.type

    Permalink

    Sets topIndex value.

  34. final def store(value: T): Buffer.this.type

    Permalink

    Replace value at the topIndex.

  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. def toString(): String

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  37. final def top: Int

    Permalink

    Returns topIndex value.

  38. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from (Int) ⇒ T

Inherited from AnyRef

Inherited from Any

Abstract

Stack Ops

Properties

Update

Append

Insert

Shift

Limit

Ungrouped