Doc

class Doc extends Ref.Buffer[(String, String)] with Able.Tag with scala.Product

General Instance Documentation

Doc is a buffer of (name,value) pairs, describing all instance properties

Methods .tag and .text return Doc description as single and multi line String.

Note: There are additional convenience methods like:

   def += (name: String, value: A)
   def add(name: String, value: A)

which allow adding name/values pairs without tupling

Source
__.scala
trait scala.Product
trait scala.Equals
trait Able.Tag
class Ref.Buffer[(String, String)]
class Buffer[(String, String)]
trait Idx.Mutable[(String, String)]
trait Able.Contain[(String, String)]
trait Collection.Mutable[(String, String)]
trait Able.Add[(String, String)]
trait Idx[(String, String)]
trait Collection[(String, String)]
trait Able.Size
trait Able.~[(String, String)]
class java.lang.Object
trait scala.Matchable
class Any

Def

@scala.annotation.targetName("stream")
override def ~: ~[(String, String)]

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)
Definition Classes
Inherited from
Buffer
Source
Buffer.scala
@scala.annotation.targetName("_addOpt")
def ++=(v: Opt[(String, String)]): Doc

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")
def ++=(v: ~[(String, String)]): Doc

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: ~[(String, String)]): Doc

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")
def +=[A](name: String, value: A)(using t: Given.DocTag[A]): Doc

Alias to add

Alias to add

Adds name and value pair to the buffer

Source
__.scala
@scala.annotation.targetName("_add")
def +=(value: String): Doc

Alias to add

Alias to add

Adds value with empty name

Source
__.scala
@scala.annotation.targetName("_add")
def +=(v: (String, String)): Doc

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 +=@[A](p: Int, n: String, v: A)(using t: Given.DocTag[A]): Doc

Alias to addAt

Alias to addAt

Adds name and value at given position

Source
__.scala
@scala.annotation.targetName("_addAt")
def +=@(position: Int, v: (String, String)): Doc

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")
def --=(v: ~[(String, String)]): Doc

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")
def -=(v: (String, String)): Doc

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
@scala.annotation.targetName("pack")
def ><: ><[(String, String)]
Inherited from
Buffer
Source
Buffer.scala
def add[A](name: String, value: A)(using t: Given.DocTag[A]): Unit

Add name/value

Add name/value

Adds name and value pair to the buffer

Source
__.scala
def add[A](value: A)(using t: Given.DocTag[A]): Unit

Add value

Add value

Adds value with empty name

Source
__.scala
override def add(v: (String, String)): Unit
Definition Classes
Inherited from
Buffer
Source
Buffer.scala
override def addAll(v: ~[(String, String)]): Unit

Append Stream

Append Stream

Adds all elements to Buffer end

Definition Classes
Inherited from
Buffer
Source
__.scala
override def addAllAt(i: Int, v: ~[(String, String)]): 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[(String, String)], 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
def addAt[A](pos: Int, name: String, value: A)(using t: Given.DocTag[A]): Unit

Add name/value at position

Add name/value at position

Adds name and value at given position

Source
__.scala
def addAt(i: Int, v: (String, String)): Unit
Inherited from
Buffer
Source
Buffer.scala
def apply(i: Int): (String, String)
Inherited from
Buffer
Source
Buffer.scala
def canEqual(that: Any): Boolean
Source
__.scala
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
def contains(v: (String, String)): Boolean
Inherited from
Buffer
Source
Buffer.scala
var id: String

Instance id

Instance id

Id used to identify the instance

It usually includes class name and hash code

Source
__.scala
override def isEmpty: Boolean

Empty check

Empty check

Returns true if instance is empty.

Definition Classes
Inherited from
Size
Source
Size.scala
@scala.annotation.targetName("name_Stream")
def name_~: ~[String]

Stream of names

Stream of names

Source
__.scala
@scala.annotation.targetName("pair_Stream")
def pair_~(sep: String): ~[String]

Stream of name/value pairs

Stream of name/value pairs

Source
__.scala
def remove(v: (String, String)): 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_<>(v: Int.<>): Unit

Remove range

Remove range

Removes elements at given range

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

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

 x.~.tp // Prints ~(0, 1, 5, 6, 9, 10)
Inherited from
Buffer
Source
__.scala
def removeAll(v: ~[(String, String)]): 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').~.toBuffer

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

 x.~.tp // Prints ~(A, D)
Inherited from
Mutable
Source
__.scala
def replaceAll(v: ~[(String, String)]): 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).~.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)
Inherited from
Mutable
Source
__.scala
def size: Int
Inherited from
Buffer
Source
Buffer.scala
override def sort(using c: scala.Ordering[(String, String)]): Unit
Definition Classes
Inherited from
Buffer
Source
Buffer.scala
def tag: String

Generates tag

Generates tag

Source
__.scala
def text: String
Source
__.scala
inline override def toString: String
Definition Classes
Tag -> Any
Inherited from
Tag
Source
Tag.scala
def updateAllAt(position: Int, s: ~[(String, String)]): Unit

Update many at position

Update many at position

Replaces elements starting at given position with stream values

Inherited from
Mutable
Source
__.scala
def updateAt(i: Int, v: (String, String)): Unit
Inherited from
Buffer
Source
Buffer.scala
@scala.annotation.targetName("value_Stream")
def value_~: ~[String]

Stream of values

Stream of values

Source
__.scala