Long.G.Buffer

class Buffer[A <: Any.Long](arrayToUse: Array[Long], sizeToStartWith: Int) extends Val.Buffer[A] with Long.G.Idx.M[A]

Long Specialized Generic Buffer

To be used with Long based opaque values.

Source
Buffer.scala
trait Long.G.Idx.Mutable[Long.G.Buffer.A]
trait Long.G.Collection.Mutable[Long.G.Buffer.A]
trait Long.G.Idx[Long.G.Buffer.A]
trait Long.G.Collection[Long.G.Buffer.A]
trait Any.Z.PrimitiveTag.Long
trait Any.Z.PrimitiveTag
class Buffer[Long.G.Buffer.A]
trait Idx.Mutable[Long.G.Buffer.A]
trait Able.Contain[Long.G.Buffer.A]
trait Collection.Mutable[Long.G.Buffer.A]
trait Able.Add[Long.G.Buffer.A]
trait Idx[Long.G.Buffer.A]
trait Collection[Long.G.Buffer.A]
trait Able.Size
trait Able.Stream[Long.G.Buffer.A]
class java.lang.Object
trait scala.Matchable
class Any

Def

Constructor

def this(initSize: Int)
def this()
def this(v: Stream[A])

Body

inline def ++=(v: Opt[A]): Long.G.Buffer[A]

Alias for addAll

Alias for addAll

Generally Opt could be added as a stream.

This overload is sligtly more efficient, but it is also required for mapped Opt expressions, where Opt type is harder to resolve and it would not compile.

Inherited from
Add
Source
Add.scala
inline def ++=(v: Stream[A]): Long.G.Buffer[A]

Alias for addAll

Alias for addAll

Calls addAll and returns container

 // Generic example
 val x =  Idx.M(1, 2, 3)

 x ++= (4 <> 6) ++= Stream(7, 8, 9)

 x.stream.tp // Stream(1, 2, 3, 4, 5, 6, 7, 8, 9)
Inherited from
Add
Source
Add.scala
inline def ++@=(position: Int, v: Stream[A]): Long.G.Buffer[A]

Alias for addAllAt

Alias for addAllAt

Adds stream elements at given position

  // Generic example
  val x = ('A' <> 'F').stream.toBuffer

  x ++@= (4, 'e' <> 'g') ++@= (1, Stream('b','c','d'))

  x.stream.tp // Prints Stream(A, b, c, d, B, C, D, e, f, g, E, F)
Inherited from
Mutable
Source
__.scala
inline def +=(v: A): Long.G.Buffer[A]

Alias for add

Alias for add

Calls add and returns container

 // Generic example
 val x =  Idx.M(1, 2, 3)

  x += 4 += 5 += 6

  x.stream.tp // Prints Stream(1, 2, 3, 4, 5, 6)
Inherited from
Add
Source
Add.scala
inline def +@=(position: Int, v: A): Long.G.Buffer[A]

Alias for addAt

Alias for addAt

Adds element at given position

  // Generic example
  val x = ('A' <> 'F').stream.toBuffer

  x +@= (3, 'd') +@= (2, 'c') +@= (1, 'b') +@= (0, 'a')

  x.stream.tp // Prints Stream(a, A, b, B, c, C, d, D, E, F)
Inherited from
Mutable
Source
__.scala
def --=(v: Stream[A]): Long.G.Buffer[A]

Alias for removeAll

Alias for removeAll

Removes all collection elements, which are equal to those in given stream

Returns the collection itself

Inherited from
Mutable
Source
Mutable.scala
def -=(v: A): Long.G.Buffer[A]

Alias for remove

Alias for remove

Removes all collection elements, which are equal to the given value

Returns the collection itself

Inherited from
Mutable
Source
Mutable.scala
override def add(v: A): Unit
Definition Classes
Source
Buffer.scala
override def addAll(v: Stream[A]): Unit

Append Stream

Append Stream

Adds all elements to Buffer end

Definition Classes
Inherited from
Buffer
Source
__.scala
override def addAllAt(i: Int, v: Stream[A]): Unit

Insert Stream

Insert Stream

Inserts all elements at specified buffer position

Definition Classes
Inherited from
Buffer
Source
__.scala
final def addArray_trusted(a: Array[A], start: Int, len: Int): Unit

Add array elements

Add array elements

Programms are expected to pass even private sensitive arrays, because this method is final and can be exemined not to abuse the trust

The given arguments specify range of elements to be added.

Whenever possible the adding will be done with bulk copy from given array to buffer array

Inherited from
Buffer
Source
__.scala
override def addAt(i: Int, v: A): Unit
Definition Classes
Source
Buffer.scala
def apply(i: Int): A
override def clear: Unit

Empty buffer

Empty buffer

Note. Even buffer becomes zero sized, the storage array will not shrink and will still reference the old elements (untill overwritten with new).

Definition Classes
Inherited from
Buffer
Source
__.scala
override def contains(v: A): Boolean
Definition Classes
Source
Buffer.scala
inline def foreach[U](f: A => U): Unit

Process all elements

Process all elements

Applies given function to each Buffer element.

This method is more eficient than Stream foreach.

Inherited from
Buffer
Source
__.scala
override def pack: Long.G.Pack[A]
Definition Classes
Source
Buffer.scala
def remove(v: A): Int

Remove element

Remove element

Removes all Idx elements, which are equal to the given value

Returns count of removed elements, which can be 0, 1, or many

Inherited from
Mutable
Source
__.scala
def removeAll(v: Stream[A]): Int

Remove all streamed

Remove all streamed

Removes all collection elements, which are equal to those in given stream

Returns count of removed elements, which can be 0, 1, or many

Inherited from
Mutable
Source
Mutable.scala
def removeAt(position: Int): Unit

Remove at position

Remove at position

Removes element at given position

 // Generic example
 val x = ('A' <> 'D').stream.toBuffer

 x.remove(2)
 x.remove(1)

 x.stream.tp // Prints Stream(A, D)
Inherited from
Mutable
Source
__.scala
def removeRange(v: Int.Range): Unit

Remove range

Remove range

Removes elements at given range

 val x = (0 <> 10).stream.toBuffer

 x.remove(7 <> 8)
 x.remove(2 <> 4)

 x.stream.tp // Prints Stream(0, 1, 5, 6, 9, 10)
Inherited from
Buffer
Source
__.scala
def replaceWith(v: Stream[A]): Unit

Replace everything

Replace everything

Discards all old elements and adds all provided elements

Inherited from
Mutable
Source
Mutable.scala

Reorganizes elements

Reorganizes elements

Reorganizes elements according to the given permutation

  val im: Idx.Mutable[Int] = (0 <> 9).stream.toBuffer

  val p = Idx.Permutation.pairs(3 -> 7, 7 -> 3, 4 -> 6, 6 -> 4)

  im.stream.tp
  im.reposition(p)
  im.stream.tp

  // Output
  Stream(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  Stream(0, 1, 2, 7, 6, 5, 4, 3, 8, 9)
Inherited from
Mutable
Source
__.scala
def size: Int
override def sort(using o: Ordering[A]): Unit
Definition Classes
Source
Buffer.scala
override def stream: Long.G.Stream[A]
Definition Classes
Source
Buffer.scala
def updateAllAt(position: Int, s: Stream[A]): Unit

Update many at position

Update many at position

Replaces elements starting at given position with stream values

Inherited from
Mutable
Source
__.scala
override def updateAt(i: Int, v: A): Unit
Definition Classes
Source
Buffer.scala