Util
 object Util
- Source
- __.scala
class java.lang.Object
trait scala.Matchable
class Any
Member
 opaque type ByteCount
Byte Size
ByteCount is an opaque Long value, used to indicate something like "File size" or "memory allocation", whatever is counted in bytes
- Source
- ByteCount.scala
EnumCompanion is a type to be extended by all enum companion objects to integrate them with Scalqa containers.
This is a recommended step, which might not be nessesasy in simple cases
 enum Direction:
   case Up,Down,Left,Right
 object Direction extends EnumCompanion[Direction]
 Direction.stream.tp
 // Output
 Stream(Up, Down, Left, Right)
- Source
- EnumCompanion.scala
 opaque type Percent
Percent is an opaque Double value
Percent can be created with method constructors on primitives
 3.Percent.tp     // Prints: 3.0%
 3.14.Percent.tp  // Prints: 3.14%
- Source
- Percent.scala
Bi-Directional Function
TwoWayFunction allows to convert value to some type and back
It is used in two way binded collections
  val intToChar: TwoWayFunction[Int,Char] = TwoWayFunction(i => ('A' + i).toChar, _ - 'A')
  val list:  Idx.M[Int] = Stream(0, 2, 4).toBuffer
  val view:  Idx.M[Char] = list.mutableMapView(intToChar)
  list.stream.tp     // Prints Stream(0, 2, 4)
  view.stream.tp     // Prints Stream(A, C, E)
  view(1) = 'Z' // Note, only second collection is updated, but both are changed
  list.stream.tp     // Prints Stream(0, 25, 4)
  view.stream.tp     // Prints Stream(A, Z, E)
- Source
- TwoWayFunction.scala
Bi-Directional Function
TwoWayFunction allows to convert value to some type and back
It is used in two way binded collections
  val intToChar: TwoWayFunction[Int,Char] = TwoWayFunction(i => ('A' + i).toChar, _ - 'A')
  val list:  Idx.M[Int] = Stream(0, 2, 4).toBuffer
  val view:  Idx.M[Char] = list.mutableMapView(intToChar)
  list.stream.tp     // Prints Stream(0, 2, 4)
  view.stream.tp     // Prints Stream(A, C, E)
  view(1) = 'Z' // Note, only second collection is updated, but both are changed
  list.stream.tp     // Prints Stream(0, 25, 4)
  view.stream.tp     // Prints Stream(A, Z, E)
- Source
- TwoWayFunction.scala