Idx

object Idx
Companion
class
Source
__.scala
class Object
trait Matchable
class Any

Member

trait Mutable[A] extends Idx[A] with Collection.Mutable[A] with Able.Contain[A]

Mutable Indexed Collection

Mutable indexed collection provides methods to modify its content based on element position

Companion
object
Source
__.scala
trait Mutable[A] extends Idx[A] with Collection.Mutable[A] with Able.Contain[A]

Mutable Indexed Collection

Mutable indexed collection provides methods to modify its content based on element position

Companion
object
Source
__.scala
trait Observable[A] extends Idx[A] with Collection.Observable[A]

Observable Idx Collection

Observable Idx collection allows to track all the changes by subscribing to onChange event

Companion
object
Source
__.scala
trait Observable[A] extends Idx[A] with Collection.Observable[A]

Observable Idx Collection

Observable Idx collection allows to track all the changes by subscribing to onChange event

Companion
object
Source
__.scala

Permutation is a precise definition on how elements within Int.Range should be reorganized

Consider ordering a buffer of integers. This could be accomplished it two steps:

   1. Based on some Ordering, we create a [[Permutation]] object, which captures all necessary repositions
   2. Apply permutation to the buffer
```
   val buf = ~~(0, 3, 1, 2, 4).toBuffer

   buf.~.tp // Prints:  ~(0, 3, 1, 2, 4)

   // Creating permutation based on comparator
   val p = Idx.Permutation.sorting(buffer)

   p.tp               // Prints: Permutation{range=1 <>> 4,(1,3)(2,1)(3,2)}

   p.reposition(buf)  // Applying permutation

   buf.~.tp           // Prints ~(0, 1, 2, 3, 4)
 ```
Companion
object
Source
__.scala

Permutation is a precise definition on how elements within Int.Range should be reorganized

Consider ordering a buffer of integers. This could be accomplished it two steps:

   1. Based on some Ordering, we create a [[Permutation]] object, which captures all necessary repositions
   2. Apply permutation to the buffer
```
   val buf = ~~(0, 3, 1, 2, 4).toBuffer

   buf.~.tp // Prints:  ~(0, 3, 1, 2, 4)

   // Creating permutation based on comparator
   val p = Idx.Permutation.sorting(buffer)

   p.tp               // Prints: Permutation{range=1 <>> 4,(1,3)(2,1)(3,2)}

   p.reposition(buf)  // Applying permutation

   buf.~.tp           // Prints ~(0, 1, 2, 3, 4)
 ```
Companion
object
Source
__.scala
trait Selection[A] extends Idx[A] with Info

Lists selected values for some target indexed collection

Companion
object
Source
__.scala
trait Selection[A] extends Idx[A] with Info

Lists selected values for some target indexed collection

Companion
object
Source
__.scala
object X

Object X defines standard parent type extensions

Source
X.scala

Alias

Alias

Alias

Shortcut to Idx.Observable.Event

Source
__.scala

Alias

Alias

Shortcut to Idx.Observable.Event

Source
__.scala
type M[A] = Idx.Mutable[A]

Alias

Alias

Shortcut to Idx.Mutable

Source
__.scala
inline def M: Idx.Mutable

Alias

Alias

Shortcut to Idx.Mutable

Source
__.scala
type O[A] = Idx.Observable[A]

Alias

Alias

Shortcut to Idx.Observable

Source
__.scala
inline def O: Idx.Observable

Alias

Alias

Shortcut to Idx.Observable

Source
__.scala

Alias

Alias

Shortcut to Idx.ObservableMutable

Source
__.scala

Alias

Alias

Shortcut to Idx.ObservableMutable

Source
__.scala

Def

def apply[A](v: A): Idx[A]
Source
__.scala
def apply[A](v1: A, v2: A): Idx[A]
Source
__.scala
def apply[A](v1: A, v2: A, v3: A, vs: A*): Idx[A]
Source
__.scala
@targetName("at_Opt")
def at_?[A](position: Int): Opt[A]
Source
__.scala
def contains[A](v: A): Boolean
Source
__.scala
@targetName("fun_View")
def fun_^[A](f: A => B): Idx[B]
Source
__.scala
def head[A]: A

First element

First element

Returns first elements or fails for empty Idx

Use head_? for safer access

Source
__.scala
@targetName("head_Opt")
def head_?[A]: Opt[A]

First optional element

First optional element

Returns first elements or empty option for empty Idx

Source
__.scala
@targetName("javaList_View")
def javaList_^[A](v: List[A]): Idx[A]
Source
__.scala
@targetName("javaList_View")
def javaList_^[A]: List[A]
Source
__.scala
def last[A]: A
Source
__.scala
@targetName("last_Opt")
def last_?[A]: Opt[A]
Source
__.scala
@targetName("mutable_View")
Source
__.scala
@targetName("observable_View")
Source
__.scala
@targetName("observableMutable_View")
Source
__.scala
def orderedContains[A](v: A)(using Ordering[A]): Boolean
Source
__.scala
def orderedSearch[A](v: A, max: Int)(using Ordering[A]): <>
Source
__.scala
def orderedSearchBy[A](map: A => B, v: B, max: Int, extraFilter: A => Boolean)(using Ordering[B]): <>
Source
__.scala
@targetName("product_View")
def product_^[A]: Product
Source
__.scala
@targetName("range_View")
def range_^[A](r: <>): Idx[A]
Source
__.scala
@targetName("readOnly_View")
def readOnly_^[A]: Idx[A]
Source
__.scala
@targetName("reversed_View")
def reversed_^[A]: Idx[A]
Source
__.scala
@targetName("seq_View")
def seq_^[A]: IndexedSeq[A]
Source
__.scala
def tail[A]: Idx[A]

Idx without first element

Idx without first element

The returned tail can be empty

Note. This operation creates a tail "view" of target Idx, so target mutations may cause problem

Source
__.scala
@targetName("getVoid")
inline def void[A]: Idx[A]

Get void instance

Get void instance

Source
__.scala