Idx.ObservableMutable.X.Basic

class Basic[A](target: Idx.Mutable[A]) extends Idx.ObservableMutable.X.Base[A]
Source
X.scala
trait Idx.Mutable[A]
trait Able.Add[A]
class Idx.X.Base[A]
trait Able.Contain[A]
trait Idx[A]
trait Collection[A]
trait Able.Size
trait Able.~[A]
class java.lang.Object
trait scala.Matchable
class Any

Def

Constructor

def this(initSize: Int)
Source
X.scala

Body

@scala.annotation.targetName("stream")
def ~: ~[A]

Returns a Stream of all elements

Returns a Stream of all elements

The element order is same as in the Idx itself

  val l: Idx[Char] = ('a' <> 'g').~.><

  l.~.tp  // Prints ~(a, b, c, d, e, f, g)
Inherited from
Idx
Source
__.scala
@scala.annotation.targetName("_addOpt")

Alias for addAll

Alias for addAll

Generally Opt could be added as a stream.

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

Inherited from
Add
Source
Add.scala
@scala.annotation.targetName("_addAll")

Alias for addAll

Alias for addAll

Calls addAll and returns container

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

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

 x.~.tp // ~~(1, 2, 3, 4, 5, 6, 7, 8, 9)
Inherited from
Add
Source
Add.scala
@scala.annotation.targetName("_addAllAt")
def ++=@(position: Int, v: ~[A]): Idx.ObservableMutable.X.Basic[A]

Alias for addAllAt

Alias for addAllAt

Adds stream elements at given position

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

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

  x.~.tp // Prints ~(A, b, c, d, B, C, D, e, f, g, E, F)
Inherited from
Mutable
Source
__.scala
@scala.annotation.targetName("_add")

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.~.tp // Prints ~(1, 2, 3, 4, 5, 6)
Inherited from
Add
Source
Add.scala
@scala.annotation.targetName("_addAt")
def +=@(position: Int, v: A): Idx.ObservableMutable.X.Basic[A]

Alias for addAt

Alias for addAt

Adds element at given position

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

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

  x.~.tp // Prints ~(a, A, b, B, c, C, d, D, E, F)
Inherited from
Mutable
Source
__.scala
@scala.annotation.targetName("_removeAll")

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
@scala.annotation.targetName("_remove")

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

Append element

Append element

Adds given element to the end of this Idx

Definition Classes
Inherited from
Base
Source
X.scala
override def addAll(stream: ~[A]): Unit

Append all

Append all

Adds all stream values to the end of this Idx

Definition Classes
Inherited from
Base
Source
X.scala
override def addAllAt(i: Int, s: ~[A]): Unit
Definition Classes
Source
X.scala
override def addAt(i: Int, a: A): Unit
Definition Classes
Source
X.scala
def apply(i: Int): A
Source
X.scala
override def clear: Unit
Definition Classes
Inherited from
Mutable
Source
__.scala
def contains(v: A): Boolean
Inherited from
Base
Source
X.scala
override def isEmpty: Boolean

Empty check

Empty check

Returns true if instance is empty.

Definition Classes
Inherited from
Size
Source
Size.scala
def modify(updates: Idx.Mutable[A] => Unit): Unit
Source
X.scala
final override def onAdd[U](l: A => U): Event.Control

On element add

On element add

Subscribes given function to element add event

val co: Collection.ObservableMutable[Int] = Collection.OM[Int]()

co.onAdd("Added: "+ _ tp())

co ++= 1 <> 3

// Output
Added: 1
Added: 2
Added: 3
Definition Classes
Inherited from
Observable
Source
__.scala
final override def onRemove[U](l: A => U): Event.Control

On element remove

On element remove

Subscribes given function to element remove event

val co: Collection.ObservableMutable[Int] = Collection.OM[Int]()

co.onRemove("Removed: "+ _ tp())

co ++= 1 <> 10

co --= 5 <> 7

// Output
Removed: 7
Removed: 6
Removed: 5
Definition Classes
Inherited from
Observable
Source
__.scala
@scala.annotation.targetName("refresh_Range")
def refresh_<>(r: Int.<>): Unit
Source
X.scala
def refreshAt(i: Int): Unit

Creates a refresh event

Creates a refresh event

Refresh event is an Update event for specified elements, where old and new values are the same.

Supposedly, the elements themself are mutable and their representation has to be "refreshed"

Inherited from
ObservableMutable
Source
__.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
@scala.annotation.targetName("remove_Range")
def remove_<>(i: Int.<>): Unit
Source
X.scala
override def removeAll(v: ~[A]): Int
Definition Classes
Inherited from
ObservableMutable
Source
__.scala
def removeAt(position: Int): Unit

Remove at position

Remove at position

Removes element at given position

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

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

 x.~.tp // Prints ~(A, D)
Inherited from
Mutable
Source
__.scala
def replaceAll(v: ~[A]): Unit

Replace everything

Replace everything

Discards all old elements and adds all provided elements

Inherited from
Mutable
Source
Mutable.scala
override def reposition(v: Idx.Permutation): Unit

Reorganizes elements

Reorganizes elements

Reorganizes elements according to the given permutation

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

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

  im.~.tp
  im.reposition(p)
  im.~.tp

  // Output
  ~(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  ~(0, 1, 2, 7, 6, 5, 4, 3, 8, 9)
Definition Classes
Source
X.scala
def size: Int
Source
X.scala
override def sort(using c: scala.Ordering[A]): Unit

Sort elements

Sort elements

Sorts elements in this container

Definition Classes
Source
X.scala
def updateAllAt(position: Int, s: ~[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, a: A): Unit
Definition Classes
Source
X.scala