ostrat

package ostrat

Type members

Classlikes

class AnyBuff[A](val unsafeBuff: ArrayBuffer[A]) extends SeqGen[A]

Not sure if this class is necessary now that Arr take Any.

Not sure if this class is necessary now that Arr take Any.

class AnyBuild[B](implicit ct: ClassTag[B], notB: <none>[B]) extends ArrBuilder[B, Arr[B]] with ArrFlatBuilder[Arr[B]]

The default Immutable Array based collection builder for the Arr[A] class.

The default Immutable Array based collection builder for the Arr[A] class.

class AnyTypeExtensions[A](thisA: A)

Extension methods for Any type A.

Extension methods for Any type A.

trait Approx[D] extends Equals
case
class Approx2DblsT[T](fArg1: T => Double, fArg2: T => Double, precisionDefault: Double) extends ApproxT[Double, T]
trait ApproxDbl extends Approx[Double]
implicit
class ApproxImplicitClass[D, T](thisT: T)(implicit ev: ApproxT[D, T])

Extension methods for approximation type class.

Extension methods for approximation type class.

trait ApproxT[D, T]
Companion
object
object ApproxT
Companion
class
final
class Area(val metresSq: Double) extends AnyVal

Not sure about this class.

Not sure about this class.

final
class Arr[+A](val unsafeArr: Array[A]) extends ArrBase[A]

The immutable Array based class for types without there own specialised ArrBase collection classes. It Inherits the standard foreach, map, flatMap and fold and their variations' methods from ArrayLike. As it stands in Scala 3.0.2-RC1 the Graphics module will not build for Scala3 for the Javascript target.

The immutable Array based class for types without there own specialised ArrBase collection classes. It Inherits the standard foreach, map, flatMap and fold and their variations' methods from ArrayLike. As it stands in Scala 3.0.2-RC1 the Graphics module will not build for Scala3 for the Javascript target.

Companion
object
object Arr

Companion object for the Arr class.

Companion object for the Arr class.

Companion
class
object Arr0

Extractor object for empty Arr[A]. Arr[A] is an immutable covariant Array based collection.

Extractor object for empty Arr[A]. Arr[A] is an immutable covariant Array based collection.

object Arr1

Extractor object for Arr[A] of length == 1. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 1. Arr[A] is an immutable covariant Array based collection.

object Arr1Tail
object Arr2

Extractor object for Arr[A] of length == 2. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 2. Arr[A] is an immutable covariant Array based collection.

object Arr2Tail
object Arr3

Extractor object for Arr[A] of length == 3. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 3. Arr[A] is an immutable covariant Array based collection.

object Arr3Tail
object Arr4

Extractor object for Arr[A] of length == 4. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 4. Arr[A] is an immutable covariant Array based collection.

object Arr5

Extractor object for Arr[A] of length == 5. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 5. Arr[A] is an immutable covariant Array based collection.

object Arr6

Extractor object for Arr[A] of length == 6. Arr[A] is an immutable covariant Array based collection.

Extractor object for Arr[A] of length == 6. Arr[A] is an immutable covariant Array based collection.

trait ArrArrayDbl[A <: ArrayDblBacked] extends ArrBase[A]
trait ArrArrayDblBuild[A <: ArrayDblBacked, ArrT <: ArrArrayDbl[A]] extends ArrBuilder[A, ArrT]

This is the builder for Arrays Arrays of Double. It is not the builder for Arrays of Double.

This is the builder for Arrays Arrays of Double. It is not the builder for Arrays of Double.

class ArrArrayDblEq[A <: ArrayDblBacked, ArrT <: ArrArrayDbl[A]] extends EqT[ArrT]
Companion
object
Companion
class
trait ArrBase[+A] extends SeqGen[A] with DataImut[A]

Base trait for specialised immutable Arrays. "Arr" is the prescript for all immutable collection classes backed by underlying Arrays. The final classes extend AnyVal using standard Java /Javascript Arrays for their underlying storage. A lot of the time this is a compile time wrapper with no boxing run cost.

Base trait for specialised immutable Arrays. "Arr" is the prescript for all immutable collection classes backed by underlying Arrays. The final classes extend AnyVal using standard Java /Javascript Arrays for their underlying storage. A lot of the time this is a compile time wrapper with no boxing run cost.

trait ArrBaseOff[A, ArrT <: ArrBase[A]]
trait ArrBuilder[B, ArrB <: ArrBase[B]] extends DataBuilder[B, ArrB]

A type class for the building of efficient compact Immutable Arrays. Instances for this type class for classes / traits you control should go in the companion object of B not the companion object of BB. This is different from the related ArrBinder[BB] type class where instance should go into the BB companion object. The type parameter is named B rather than A, because normally this will be found by an implicit in the context of a function from A => B or A => M[B]. The methods of this trait mutate and therefore must be used with care. Where ever possible they should not be used directly by end users.

A type class for the building of efficient compact Immutable Arrays. Instances for this type class for classes / traits you control should go in the companion object of B not the companion object of BB. This is different from the related ArrBinder[BB] type class where instance should go into the BB companion object. The type parameter is named B rather than A, because normally this will be found by an implicit in the context of a function from A => B or A => M[B]. The methods of this trait mutate and therefore must be used with care. Where ever possible they should not be used directly by end users.

Companion
object

The companion object for ArrBuild contains implicit ArrBuild instances for common types.

The companion object for ArrBuild contains implicit ArrBuild instances for common types.

Companion
class
trait ArrDbl1s[A <: ElemDbl1] extends ArrDblNs[A]

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl1s.

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl1s.

trait ArrDbl2s[A <: ElemDbl2] extends ArrDblNs[A] with DataDbl2s[A]

A specialised immutable, flat Array[Double] based sequence of a type of ElemDbl2s.

A specialised immutable, flat Array[Double] based sequence of a type of ElemDbl2s.

trait ArrDbl2sBuilder[B <: ElemDbl2, ArrB <: ArrDbl2s[B]] extends ArrDblNsBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Dbl2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl2. The first type parameter is called B, because it corresponds to the B in map[B](f: A => B)(implicit build: ArrTBuilder[B, ArrB]): ArrB function.

Trait for creating the ArrTBuilder type class instances for Dbl2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl2. The first type parameter is called B, because it corresponds to the B in map[B](f: A => B)(implicit build: ArrTBuilder[B, ArrB]): ArrB function.

trait ArrDbl2sFlatBuilder[B <: ElemDbl2, ArrB <: ArrDbl2s[B]] extends ArrDblNsFlatBuilder[B, ArrB]

Trait for creating the ArrTFlatBuilder type class instances for Dbl2Arr final classes. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because it corresponds to the B in

Trait for creating the ArrTFlatBuilder type class instances for Dbl2Arr final classes. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because it corresponds to the B in

build: ArrTBuilder[B, ArrB]): ArrB

function. build: ArrTBuilder[B, ArrB]): ArrB

trait ArrDbl3s[A <: ElemDbl3] extends ArrDblNs[A] with DataDbl3s[A]

A specialised immutable, flat Array[Double] based sequence of a type of ElemDbl3s.

A specialised immutable, flat Array[Double] based sequence of a type of ElemDbl3s.

trait ArrDbl3sBuilder[B <: ElemDbl3, ArrB <: ArrDbl3s[B]] extends ArrDblNsBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Dbl3Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl3. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder type class instances for Dbl3Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl3. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrDbl4s[A <: ElemDbl4] extends ArrDblNs[A] with DataDbl4s[A]

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl4s.

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl4s.

trait ArrDbl4sBuilder[B <: ElemDbl4, ArrB <: ArrDbl4s[B]] extends ArrDblNsBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Dbl4Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl4. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder type class instances for Dbl4Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl4. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrDbl4sFlatBuilder[B <: ElemDbl4, ArrB <: ArrDbl4s[B]] extends ArrDblNsFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Dbl4Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl4. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Dbl4Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend ElemDbl4. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrDbl5s[A <: ElemDbl5] extends ArrDblNs[A] with DataDbl5s[A]

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl5s.

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl5s.

trait ArrDbl6s[A <: ElemDbl6] extends ArrDblNs[A] with DataDbl6s[A]

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl6s.

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl6s.

trait ArrDbl7s[A <: ElemDbl7] extends ArrDblNs[A] with DataDbl7s[A]

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl7s.

A specialised immutable, flat Array[Double] based collection of a type of ElemDbl7s.

trait ArrDblNs[A <: ElemDblN] extends ArrValueNs[A] with DataDblNs[A]

Base trait for collections of elements that are products of Doubles, backed by an underlying Array[Double].

Base trait for collections of elements that are products of Doubles, backed by an underlying Array[Double].

trait ArrDblNsBuilder[B <: ElemDblN, ArrB <: ArrDblNs[B]] extends ArrValueNsBuilder[B, ArrB]

Trait for creating the sequence builder type class instances for ArrDblNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the sequence builder type class instances for ArrDblNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrDblNsFlatBuilder[B <: ElemDblN, ArrB <: ArrDblNs[B]] extends ArrValueNsFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for ArrDblNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for ArrDblNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrFlatBuilder[ArrB <: ArrBase[_]] extends DataBuilderCommon[ArrB]

A type class for the building of efficient compact Immutable Arrays through a flatMap method. Instances for this type class for classes / traits you control should go in the companion object of BB. This is different from the related ArrBuilder[BB] type class where the instance should go into the B companion object.

A type class for the building of efficient compact Immutable Arrays through a flatMap method. Instances for this type class for classes / traits you control should go in the companion object of BB. This is different from the related ArrBuilder[BB] type class where the instance should go into the B companion object.

Companion
object

Companion object for ArrTFlatBuilder, contains implicit instances for atomic value classes.

Companion object for ArrTFlatBuilder, contains implicit instances for atomic value classes.

Companion
class
object ArrHead
object ArrHead2

Extractor object for the head 2 elements of an Arr, immutable covariant Array based collection. The tail can be any length.

Extractor object for the head 2 elements of an Arr, immutable covariant Array based collection. The tail can be any length.

object ArrHead3
object ArrHead4
trait ArrInt1s[A <: ElemInt1] extends ArrIntNs[A] with DataInt1s[A]

A specialised immutable, flat Array[Int] based collection of a type of ElemInt1s.

A specialised immutable, flat Array[Int] based collection of a type of ElemInt1s.

trait ArrInt1sBuilder[A <: ElemInt1, ArrT <: ArrInt1s[A]] extends ArrIntNsBuilder[A, ArrT]

Trait for creating the ArrTBuilder type class instances for Int1Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder type class instances for Int1Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrInt1sFlatBuilder[A <: ElemInt1, ArrT <: ArrInt1s[A]] extends ArrIntNsFlatBuilder[A, ArrT]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int1Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int1Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrInt2s[A <: ElemInt2] extends ArrIntNs[A] with DataInt2s[A]

A specialised immutable, flat Array[Int] based collection of a type of ElemInt2s.

A specialised immutable, flat Array[Int] based collection of a type of ElemInt2s.

trait ArrInt2sBuilder[B <: ElemInt2, ArrB <: ArrInt2s[B]] extends ArrIntNsBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Int2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B a sub class of Int2Elem, because to corresponds to the B in the map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder type class instances for Int2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B a sub class of Int2Elem, because to corresponds to the B in the map(f: A => B): ArrB function.

trait ArrInt2sFlatBuilder[B <: ElemInt2, ArrB <: ArrInt2s[B]] extends ArrIntNsFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B a sub class of Int2Elem, because to corresponds to the B in the map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int2Arr final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B a sub class of Int2Elem, because to corresponds to the B in the map(f: A => B): ArrB function.

trait ArrInt4s[A <: ElemInt4] extends ArrIntNs[A]

A specialised immutable, flat Array[Int] based collection of a type of ElemInt4s.

A specialised immutable, flat Array[Int] based collection of a type of ElemInt4s.

abstract
class ArrInt4sCompanion[A <: ElemInt4, M <: ArrInt4s[A]]

Class for the singleton companion objects of ArrInt4s final classes to extend.

Class for the singleton companion objects of ArrInt4s final classes to extend.

abstract
class ArrInt4sPersist[B <: ElemInt4, ArrB <: ArrInt4s[B]](typeStr: String) extends DataIntNsPersist[B, ArrB]

Class to persist specialised flat Array[Int] based ArrInt4s collection classes.

Class to persist specialised flat Array[Int] based ArrInt4s collection classes.

trait ArrIntNs[A <: ElemIntN] extends ArrValueNs[A] with DataIntNs[A]

An immutable collection of Elements that inherit from a Product of an Atomic value: Double, Int, Long or Float. They are stored with a backing Array[Int] They are named ProductInts rather than ProductIs because that name can easlily be confused with ProductI1s.

An immutable collection of Elements that inherit from a Product of an Atomic value: Double, Int, Long or Float. They are stored with a backing Array[Int] They are named ProductInts rather than ProductIs because that name can easlily be confused with ProductI1s.

trait ArrIntNsBuilder[B <: ElemIntN, ArrB <: ArrIntNs[B]] extends ArrValueNsBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for ArrIntNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder type class instances for ArrIntNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrIntNsFlatBuilder[B <: ElemIntN, ArrB <: ArrIntNs[B]] extends ArrValueNsFlatBuilder[B, ArrB]

Trait for creating the ArrTFlatBuilder type class instances for ArrIntNs final classes. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTFlatBuilder type class instances for ArrIntNs final classes. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrLong1s[A <: ElemLong1] extends ArrLongNs[A]

A specialised immutable, flat Array[Long] based collection of a type of ElemLong1s.

A specialised immutable, flat Array[Long] based collection of a type of ElemLong1s.

trait ArrLongNs[A <: ElemLongN] extends ArrValueNs[A]

Base trait for Array[Long] based collections of Products of Longs.

Base trait for Array[Long] based collections of Products of Longs.

trait ArrLongNsCompanion[A <: ElemLongN, ArrA <: ArrLongNs[A]] extends DataValueNsCompanion[A, ArrA]

Helper trait for Companion objects of ArrLongNs classes.

Helper trait for Companion objects of ArrLongNs classes.

final
class ArrOff[A](val offset0: Int) extends AnyVal with ArrBaseOff[A, Arr[A]]

Immutable heapless iterator for Arr.

Immutable heapless iterator for Arr.

case
object ArrOff0

Extractor for empty immutable heapless iterator for Arr.

Extractor for empty immutable heapless iterator for Arr.

object ArrOff1

Extractor object for an immutable heapless iterator for Arr with exactly 1 element.

Extractor object for an immutable heapless iterator for Arr with exactly 1 element.

Extractor for immutable heapless iterator for Arr with at least l element.

Extractor for immutable heapless iterator for Arr with at least l element.

object ArrOff2

Extractor object for an immutable heapless iterator for Arr with exactly 2 elements.

Extractor object for an immutable heapless iterator for Arr with exactly 2 elements.

object ArrOff3

Extractor object for an immutable heapless iterator for Arr with exactly 3 elements.

Extractor object for an immutable heapless iterator for Arr with exactly 3 elements.

object ArrOffHead
trait ArrValueNs[A <: ElemValueN] extends ArrBase[A] with DataValueNs[A]

An immutable Arr of homogeneous value products. Currently there is no compelling use case for heterogeneous value products, but the homogeneous name is being used to avoid having to change the name if and when homogeneous value product Arrs are implemented.

An immutable Arr of homogeneous value products. Currently there is no compelling use case for heterogeneous value products, but the homogeneous name is being used to avoid having to change the name if and when homogeneous value product Arrs are implemented.

trait ArrValueNsBuilder[B <: ElemValueN, ArrB <: ArrValueNs[B]] extends ArrBuilder[B, ArrB]

Trait for creating the ArrTBuilder. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

trait ArrValueNsFlatBuilder[B <: ElemValueN, ArrB <: ArrValueNs[B]] extends ArrFlatBuilder[ArrB]

Trait for creating the ArrTFlatBuilder type class instances for ArrValueNs final classes. Instances for the [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTFlatBuilder type class instances for ArrValueNs final classes. Instances for the [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

implicit
class ArrayBufferDoubleExtensions(thisBuff: ArrayBuffer[Double])
implicit
class ArrayBufferExtensions[A](thisBuff: ArrayBuffer[A])(implicit ct: ClassTag[A])

Trait for Array[Double] backed classes. The purpose of this trait is to allow for collections of this class to be stored with their underlying Array[Double]s.

Trait for Array[Double] backed classes. The purpose of this trait is to allow for collections of this class to be stored with their underlying Array[Double]s.

trait ArrayDoubleBuff[A <: ArrayDblBacked] extends SeqGen[A]

This is a buffer class for Arrays of Double. It is not a Buffer class for Arrays.

This is a buffer class for Arrays of Double. It is not a Buffer class for Arrays.

final
class ArrayExtensions[A](val thisArray: Array[A]) extends AnyVal

Extension methods for Array[A] class

Extension methods for Array[A] class

implicit
class ArrayIntExtension(array: Array[Int])
case
class ArrayLikeShow[A, R <: SeqGen[A]](evA: ShowT[A]) extends ShowTSeqLike[A, R]
final
class ArrayValueNElemExtensions[A <: ElemValueN](val thisArray: Array[A]) extends AnyVal

Extension methods for Array[A <: ValueNElem] class

Extension methods for Array[A <: ValueNElem] class

class Bad[+A](val errs: Strings) extends EMon[A]

The errors case of EMon[+A]. This corresponds, but is not functionally equivalent to an Either[List[String], +A] based Left[List[String], +A].

The errors case of EMon[+A]. This corresponds, but is not functionally equivalent to an Either[List[String], +A] based Left[List[String], +A].

Companion
object
object Bad
Companion
class
final case
class Bad2[A1, A2](errs: Strings) extends EMon2[A1, A2]
final
class Bad3[A1, A2, A3](val errs: Strings) extends EMon3[A1, A2, A3]
Companion
object
object Bad3
Companion
class

Extractor function object for a Base32 lower case letter, 'a' .. 'n' and 'p'.. 'w'.

Extractor function object for a Base32 lower case letter, 'a' .. 'n' and 'p'.. 'w'.

Extractor function object for a Base32 upper case letter, 'A' .. 'N' and 'P'.. 'W'.

Extractor function object for a Base32 upper case letter, 'A' .. 'N' and 'P'.. 'W'.

final
class BooleanBuff(val unsafeBuff: ArrayBuffer[Boolean]) extends AnyVal with SeqGen[Boolean]
final
class BooleanExtensions(val thisBool: Boolean) extends AnyVal
final
class Booleans(val array: Array[Boolean]) extends AnyVal with ArrBase[Boolean]

An immutable efficient Array[Boolean] backed sequence class for Booleans.

An immutable efficient Array[Boolean] backed sequence class for Booleans.

Companion
object
object Booleans
Companion
class
trait BuffDbl2s[A <: ElemDbl2] extends BuffDblNs[A]

A specialised flat ArrayBuffer[Double] based trait for ElemDbl2s collections.

A specialised flat ArrayBuffer[Double] based trait for ElemDbl2s collections.

trait BuffDbl3s[A <: ElemDbl3] extends BuffDblNs[A]

A specialised flat ArrayBuffer[Double] based trait for ElemDbl3s collections.

A specialised flat ArrayBuffer[Double] based trait for ElemDbl3s collections.

trait BuffDbl4s[A <: ElemDbl4] extends BuffDblNs[A]

A specialised flat ArrayBuffer[Double] based trait for ElemDbl4s collections.

A specialised flat ArrayBuffer[Double] based trait for ElemDbl4s collections.

trait BuffDblNs[A <: ElemDblN] extends BuffValueNs[A]

Specialised flat ArrayBuffer[Double] based collection class.

Specialised flat ArrayBuffer[Double] based collection class.

trait BuffInt1s[A <: ElemInt1] extends BuffIntNs[A]

A specialised flat ArrayBuffer[Int] based trait for ElemInt1s collections.

A specialised flat ArrayBuffer[Int] based trait for ElemInt1s collections.

trait BuffInt2s[A <: ElemInt2] extends BuffIntNs[A]

A specialised flat ArrayBuffer[Int] based trait for ElemInt2s collections.

A specialised flat ArrayBuffer[Int] based trait for ElemInt2s collections.

trait BuffInt4s[A <: ElemInt4, M <: ArrInt4s[A]] extends BuffIntNs[A]

A specialised flat ArrayBuffer[Int] based trait for ElemInt4s collections.

A specialised flat ArrayBuffer[Int] based trait for ElemInt4s collections.

trait BuffIntNs[A <: ElemIntN] extends BuffValueNs[A]

Specialised flat ArrayBuffer[Int] based collection class.

Specialised flat ArrayBuffer[Int] based collection class.

trait BuffLong1s[A <: ElemLong1, ArrA <: ArrLong1s[A]] extends BuffLongNs[A]

A specialised flat ArrayBuffer[long] based trait for ElemLong1s collections.

A specialised flat ArrayBuffer[long] based trait for ElemLong1s collections.

trait BuffLongNs[A <: ElemLongN] extends BuffValueNs[A]

Specialised flat ArrayBuffer[Double] based collection class.

Specialised flat ArrayBuffer[Double] based collection class.

trait BuffValueNs[A <: ElemValueN] extends SeqGen[A]

Specialised flat arraybuffer based collection class, where the underlying ArrayBuffer element is an atomic value like Int, Double or Long.

Specialised flat arraybuffer based collection class, where the underlying ArrayBuffer element is an atomic value like Int, Double or Long.

class CharExtensions(thisChar: Char)
final
class Chars(val arrayUnsafe: Array[Char]) extends AnyVal with ArrBase[Char]

Efficient immutable Array based collection for Chars.

Efficient immutable Array based collection for Chars.

Companion
object
object Chars

Companion object of Chars class contains repeat parameter apply factor method.

Companion object of Chars class contains repeat parameter apply factor method.

Companion
class
final
class CharsOff(val offset0: Int) extends AnyVal with ArrBaseOff[Char, Chars]

Immutable heapless iterator for Char arrays.

Immutable heapless iterator for Char arrays.

Companion
object
object CharsOff
Companion
class
case
object CharsOff0

Extractor for empty immutable heapless iterator for Chars.

Extractor for empty immutable heapless iterator for Chars.

object CharsOff1

Extractor object for immutable heapless iterator for Chars with length == 1.

Extractor object for immutable heapless iterator for Chars with length == 1.

Extractor for immutable heapless iterator for Chars with at l element.

Extractor for immutable heapless iterator for Chars with at l element.

object CharsOff2

Extractor object for immutable heapless iterator for Chars with length == 2.

Extractor object for immutable heapless iterator for Chars with length == 2.

object CharsOff3

Extractor object for immutable heapless iterator for Chars with length == 3.

Extractor object for immutable heapless iterator for Chars with length == 3.

object CharsOff4

Extractor object for immutable heapless iterator for Chars with length == 4.

Extractor object for immutable heapless iterator for Chars with length == 4.

Extractor object for the first element for immutable heapless iterator for Chars with at length >= 1. Use this when you don't care about the tail.

Extractor object for the first element for immutable heapless iterator for Chars with at length >= 1. Use this when you don't care about the tail.

Extractor object for the first 2 elements for immutable heapless iterator for Chars with length >= 2. Use this when you don't care about the tail.

Extractor object for the first 2 elements for immutable heapless iterator for Chars with length >= 2. Use this when you don't care about the tail.

Extractor object for the first 3 elements for immutable heapless iterator for Chars with length >= 3. Use this when you don't care about the tail.

Extractor object for the first 3 elements for immutable heapless iterator for Chars with length >= 3. Use this when you don't care about the tail.

Extractor object for the first 3 elements for immutable heapless iterator for Chars with length >= 3. Use this when you don't care about the tail.

Extractor object for the first 3 elements for immutable heapless iterator for Chars with length >= 3. Use this when you don't care about the tail.

final
class Colour(val argbValue: Int) extends AnyVal with FillFacet with ElemInt1

The argbValue must start with 0xFF if the default full opacity is required. So 0xFFFF0000 gives full opacity Red

The argbValue must start with 0xFF if the default full opacity is required. So 0xFFFF0000 gives full opacity Red

Companion
object
object Colour

Companion object for Colour class, contains named values for the standard web colours and implicit instances for various type classes.

Companion object for Colour class, contains named values for the standard web colours and implicit instances for various type classes.

Companion
class
final
class ColourBuff(val unsafeBuff: ArrayBuffer[Int]) extends AnyVal with BuffInt1s[Colour]

ArrayBuffer based buffer class for Colours.

ArrayBuffer based buffer class for Colours.

trait Coloured extends AnyRef

This trait provides a few handy methods for classes with the colour member

This trait provides a few handy methods for classes with the colour member

final
class Colours(val arrayUnsafe: Array[Int]) extends AnyVal with ArrInt1s[Colour]

Specialist Arr, immutable sequence Array[Int] based class for Colours.

Specialist Arr, immutable sequence Array[Int] based class for Colours.

Companion
object
object Colours

Companion object for the Colours class, contains apply factory method and helper methods.

Companion object for the Colours class, contains apply factory method and helper methods.

Companion
class
trait DataBuilder[B, BB <: DataImut[B]] extends DataBuilderCommon[BB]

A Common base trait for Arrbuilder, ArrFlatBuilder and other builders like Polygon and LinePath builders.

A Common base trait for Arrbuilder, ArrFlatBuilder and other builders like Polygon and LinePath builders.

trait DataDbl2s[A <: ElemDbl2] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by a data sequence of a type of ElemDbl2s.

A specialised immutable, flat Array[Double] based trait defined by a data sequence of a type of ElemDbl2s.

trait DataDbl2sCompanion[A <: ElemDbl2, ArrA <: DataDbl2s[A]] extends DataDblNsCompanion[A, ArrA]

Class for the singleton companion objects of ArrDbl2s final classes to extend.

Class for the singleton companion objects of ArrDbl2s final classes to extend.

abstract
class DataDbl2sPersist[A <: ElemDbl2, M <: DataDbl2s[A]](typeStr: String) extends DataDblNsPersist[A, M]

Persists and assists in building ArrDblNss.

Persists and assists in building ArrDblNss.

trait DataDbl3s[A <: ElemDbl3] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl3s.

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl3s.

abstract
class DataDbl3sCompanion[A <: ElemDbl3, ArrA <: DataDbl3s[A]] extends DataDblNsCompanion[A, ArrA]

Class for the singleton companion objects of ArrDbl3s final classes to extend.

Class for the singleton companion objects of ArrDbl3s final classes to extend.

abstract
class DataDbl3sPersist[A <: ElemDbl3, M <: DataDbl3s[A]](typeStr: String) extends DataDblNsPersist[A, M]

Persists ArrDbl3ss.

Persists ArrDbl3ss.

trait DataDbl4s[A <: ElemDbl4] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl4s.

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl4s.

abstract
class DataDbl4sCompanion[A <: ElemDbl4, ArrA <: DataDbl4s[A]]

Class for the singleton companion objects of ArrDbl4s final classes to extend.

Class for the singleton companion objects of ArrDbl4s final classes to extend.

abstract
class DataDbl4sPersist[A <: ElemDbl4, ArrA <: DataDbl4s[A]](typeStr: String) extends DataDblNsPersist[A, ArrA]

Persists [[Dble4Elem] Collection classes.

Persists [[Dble4Elem] Collection classes.

trait DataDbl5s[A <: ElemDbl5] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl5s.

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl5s.

abstract
class DataDbl5sCompanion[A <: ElemDbl5, ArrA <: DataDbl5s[A]]

Helper class for companion objects of final ArrDbl5s classes.

Helper class for companion objects of final ArrDbl5s classes.

abstract
class DataDbl5sPersist[A <: ElemDbl5, ArrA <: DataDbl5s[A]](typeStr: String) extends DataDblNsPersist[A, ArrA]

Both Persists and Builds ArrDbl5s Collection classes.

Both Persists and Builds ArrDbl5s Collection classes.

trait DataDbl6s[A <: ElemDbl6] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl6s.

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl6s.

abstract
class DataDbl6sCompanion[A <: ElemDbl6, ArrA <: DataDbl6s[A]]

Helper class for companion objects of final ArrDbl6s classes.

Helper class for companion objects of final ArrDbl6s classes.

trait DataDbl7s[A <: ElemDbl7] extends DataDblNs[A]

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl7s.

A specialised immutable, flat Array[Double] based trait defined by data sequence of a type of ElemDbl7s.

abstract
class DataDbl7sCompanion[A <: ElemDbl7, ArrA <: DataDbl7s[A]] extends DataDblNsCompanion[A, ArrA]

Helper class for companion objects of final DataDbl7s classes.

Helper class for companion objects of final DataDbl7s classes.

trait DataDblNs[A <: ElemDblN] extends DataValueNs[A] with ArrayDblBacked

Base trait for classes that are defined by collections of elements that are products of Doubles, backed by an underlying Array[Double]. As well as ArrDblNs classes this is also the base trait for classes like polygons that are defined by a collection of points.

Base trait for classes that are defined by collections of elements that are products of Doubles, backed by an underlying Array[Double]. As well as ArrDblNs classes this is also the base trait for classes like polygons that are defined by a collection of points.

trait DataDblNsCompanion[A <: ElemDblN, ArrA <: DataDblNs[A]] extends DataValueNsCompanion[A, ArrA]

Helper trait for Companion objects of ArrDblNs classes.

Helper trait for Companion objects of ArrDblNs classes.

abstract
class DataDblNsPersist[A <: ElemDblN, M <: DataDblNs[A]](typeStr: String) extends DataValueNsPersist[A, M] with EqT[M]

Persists ArrDblNss.

Persists ArrDblNss.

trait DataGen[A]

Base trait for all efficient classes backed by Arrays, ArrayBuffers etc. Includes sequences and classes such as polygons and line paths that are encoded using sequence data. include immutable and expandable buffers.

Base trait for all efficient classes backed by Arrays, ArrayBuffers etc. Includes sequences and classes such as polygons and line paths that are encoded using sequence data. include immutable and expandable buffers.

trait DataImut[+A] extends DataGen[A]

Base trait for all immutable classes that use a backing Array for efficient storage. This includes immutable sequences ArrBase, but also polygons and line paths that are specified by data sequences.

Base trait for all immutable classes that use a backing Array for efficient storage. This includes immutable sequences ArrBase, but also polygons and line paths that are specified by data sequences.

trait DataInt1s[A <: ElemInt1] extends DataIntNs[A]

A specialised immutable, flat Array[Int] based trait defined by a data sequence of a type of ElemInt1s.

A specialised immutable, flat Array[Int] based trait defined by a data sequence of a type of ElemInt1s.

trait DataInt2s[A <: ElemInt2] extends DataIntNs[A]

A specialised immutable, flat Array[Double] based trait defined by a data sequence of a type of ElemInt2s.

A specialised immutable, flat Array[Double] based trait defined by a data sequence of a type of ElemInt2s.

abstract
class DataInt2sCompanion[A <: ElemInt2, ArrA <: DataInt2s[A]] extends DataIntNsCompanion[A, ArrA]

Helper class for companion objects of final Int2sArr classes.

Helper class for companion objects of final Int2sArr classes.

trait DataIntNs[A <: ElemIntN] extends DataValueNs[A]
trait DataIntNsCompanion[A <: ElemIntN, ArrA <: DataIntNs[A]] extends DataValueNsCompanion[A, ArrA]

Helper trait for Companion objects of IntNArr collection classes, where the type parameter ArrA is the ElemIntN type of the of the collection class.

Helper trait for Companion objects of IntNArr collection classes, where the type parameter ArrA is the ElemIntN type of the of the collection class.

abstract
class DataIntNsPersist[A <: ElemIntN, M <: DataIntNs[A]](typeStr: String) extends DataValueNsPersist[A, M]

Class to persist specialised flat Array[Int] based collections.

Class to persist specialised flat Array[Int] based collections.

trait DataValueNs[A <: ElemValueN] extends DataImut[A]

An immutable trait defined by a collection of homogeneous value products. The underlying array is Array[Double], Array[Int] etc. The descendant classes include both ValueNscollections and classes like polygons and lines.

An immutable trait defined by a collection of homogeneous value products. The underlying array is Array[Double], Array[Int] etc. The descendant classes include both ValueNscollections and classes like polygons and lines.

Helper trait for companion objects of DataValueNs classes. These are flat Array[Int], Array[Double] etc, flat collection classes.

Helper trait for companion objects of DataValueNs classes. These are flat Array[Int], Array[Double] etc, flat collection classes.

abstract
class DataValueNsPersist[A <: ElemValueN, M <: DataValueNs[A]](val typeStr: String) extends PersistCompound[M]

Class to Persist specialised for DatValueNs cLasses.

Class to Persist specialised for DatValueNs cLasses.

trait Dbl3sArrFlatBuilder[B <: ElemDbl3, ArrB <: ArrDbl3s[B]] extends ArrDblNsFlatBuilder[B, ArrB]

Trait for creating the ArrFlatBuilder type class instances for Dbl3Arr final classes. Instances for the for classes / traits you control, should go in the companion object of the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrFlatBuilder type class instances for Dbl3Arr final classes. Instances for the for classes / traits you control, should go in the companion object of the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

final
class Dbls(val arrayUnsafe: Array[Double]) extends AnyVal with ArrBase[Double]

An immutable Array based class for Doubles.

An immutable Array based class for Doubles.

Companion
object
object Dbls

Companion object for the Dbls Array based class for Doubles, contains a repeat parameter factory method.

Companion object for the Dbls Array based class for Doubles, contains a repeat parameter factory method.

Companion
class
final
class DblsBuff(val unsafeBuff: ArrayBuffer[Double]) extends AnyVal with SeqGen[Double]
object DblsBuild extends ArrBuilder[Double, Dbls] with ArrFlatBuilder[Dbls]
object DigitChar

Extractor function object for digit character.

Extractor function object for digit character.

Extractor function object for digit character.

Extractor function object for digit character.

final
class DoubleImplicit(val thisDouble: Double) extends AnyVal

Extension class for Double. This is created as a separate class to keep down the size of the package object.

Extension class for Double. This is created as a separate class to keep down the size of the package object.

sealed
trait EMon[+A]

An Errors handling class. Consider changing name to EHan. The main ways to consume the final result of the flatMap operation are fold, getElse, foreach and forEither. This corresponds, but is not functionally equivalent to an Either[StrList, A] or Either[List[String], +A]. There are advantages to having a separate class and I find that I rarely use Either apart from with standard errors as the Left type. However use the methods biMap, to Either, eitherMap and eitherFlatMap when interoperability with Either is required. In my view Either[T] class is redundant and is rarely used except as an errors handler. So it makes sense to use a dedicated class.

An Errors handling class. Consider changing name to EHan. The main ways to consume the final result of the flatMap operation are fold, getElse, foreach and forEither. This corresponds, but is not functionally equivalent to an Either[StrList, A] or Either[List[String], +A]. There are advantages to having a separate class and I find that I rarely use Either apart from with standard errors as the Left type. However use the methods biMap, to Either, eitherMap and eitherFlatMap when interoperability with Either is required. In my view Either[T] class is redundant and is rarely used except as an errors handler. So it makes sense to use a dedicated class.

Companion
object
object EMon

Companion object for EMon triat contains implict class for EMon returning extension methods on String and Show implicit instance.

Companion object for EMon triat contains implict class for EMon returning extension methods on String and Show implicit instance.

Companion
class
sealed
trait EMon2[+A1, +A2]
sealed
trait EMon3[+A1, +A2, +A3]
trait ElemDbl1 extends ElemDblN

An object that can be constructed from a single Double. These are used in ArrDbl1s Array[Int] based collections.

An object that can be constructed from a single Double. These are used in ArrDbl1s Array[Int] based collections.

trait ElemDbl2 extends ElemDblN

An object that can be constructed from 2 Doubles. These are used as elements in ArrDbl2s Array[Double] based collections.

An object that can be constructed from 2 Doubles. These are used as elements in ArrDbl2s Array[Double] based collections.

trait ElemDbl3 extends ElemDblN

An object that can be constructed from 3 Doubles. These are used in ArrDbl3s Array[Double] based collections.

An object that can be constructed from 3 Doubles. These are used in ArrDbl3s Array[Double] based collections.

trait ElemDbl4 extends ElemDblN

An object that can be constructed from 4 Doubles. These are used in ArrDbl4s Array[Double] based collections.

An object that can be constructed from 4 Doubles. These are used in ArrDbl4s Array[Double] based collections.

trait ElemDbl5 extends ElemDblN

An object that can be constructed from 5 Doubles. These are used in ArrDbl5s Array[Double] based collections.

An object that can be constructed from 5 Doubles. These are used in ArrDbl5s Array[Double] based collections.

trait ElemDbl6 extends ElemDblN

An object that can be constructed from 6 Doubles. These are used in ArrDbl6s Array[Double] based collections.

An object that can be constructed from 6 Doubles. These are used in ArrDbl6s Array[Double] based collections.

trait ElemDbl7 extends ElemDblN

An object that can be constructed from 7 Doubles. These are used in DataDbl7s classes including ArrDbl7s sequence collections.

An object that can be constructed from 7 Doubles. These are used in DataDbl7s classes including ArrDbl7s sequence collections.

trait ElemDblN extends ElemValueN

An object that can be constructed from N Doubles. These are used as elements in ArrDblNs Array[Double] based collections.

An object that can be constructed from N Doubles. These are used as elements in ArrDblNs Array[Double] based collections.

trait ElemInt1 extends ElemIntN

An object that can be constructed from a single Int. These are used in ArrInt1s Array[Int] based collections.

An object that can be constructed from a single Int. These are used in ArrInt1s Array[Int] based collections.

trait ElemInt2 extends ElemIntN

An object that can be constructed from 2 Ints. These are used in ArrInt2s Array[Int] based collections.

An object that can be constructed from 2 Ints. These are used in ArrInt2s Array[Int] based collections.

trait ElemInt4 extends ElemIntN

An object that can be constructed from 4 Ints. These are used in ArrInt4s Array[Int] based collections.

An object that can be constructed from 4 Ints. These are used in ArrInt4s Array[Int] based collections.

trait ElemIntN extends ElemValueN

A class that can be construct from a fixed number of Ints can be stored as an Array[Int] of primitive values.

A class that can be construct from a fixed number of Ints can be stored as an Array[Int] of primitive values.

trait ElemLong1 extends ElemLongN

An object that can be constructed from a single Long. These are used in Long1Arr Array[Int] based collections.

An object that can be constructed from a single Long. These are used in Long1Arr Array[Int] based collections.

trait ElemLongN extends ElemValueN

A class that can be constructed from a fixed number of Longs. It can be stored as an Array[Long] of primitive values.

A class that can be constructed from a fixed number of Longs. It can be stored as an Array[Long] of primitive values.

trait ElemValueN extends SpecialT

A class that can be constructed from a fixed number of homogeneous primitive values such as Ints, Doubles or Longs. The final class can be stored as * an Array of primitive values. Note the classes that extend this trait do not extend Product or its numbered sub traits, because the logical size of the product may not be the same as the number of primitive values, for example a LineSeg is a product of 2 Pt2s, but is composed from 4 Double values.

A class that can be constructed from a fixed number of homogeneous primitive values such as Ints, Doubles or Longs. The final class can be stored as * an Array of primitive values. Note the classes that extend this trait do not extend Product or its numbered sub traits, because the logical size of the product may not be the same as the number of primitive values, for example a LineSeg is a product of 2 Pt2s, but is composed from 4 Double values.

class Eq1T[A1, R](val fArg1: R => A1)(implicit eq1: EqT[A1]) extends EqT[R]
case
class Eq2DblsT[R](fArg1: R => Double, fArg2: R => Double) extends Eq2T[Double, Double, R]
trait Eq2T[A1, A2, R] extends EqT[R]

Equality type class trait for Product 2.

Equality type class trait for Product 2.

Companion
object
object Eq2T
Companion
class
class Eq3T[A1, A2, A3, R](val fArg1: R => A1, val fArg2: R => A2, val fArg3: R => A3)(implicit eq1: EqT[A1], eq2: EqT[A2], eq3: EqT[A3]) extends EqT[R]

Equality type class trait for Product 3.

Equality type class trait for Product 3.

Companion
object
object Eq3T
Companion
class
class Eq4T[A1, A2, A3, A4, R](val fArg1: R => A1, val fArg2: R => A2, val fArg3: R => A3, val fArg4: R => A4)(implicit eq1: EqT[A1], eq2: EqT[A2], eq3: EqT[A3], eq4: EqT[A4]) extends EqT[R]

Equality type class trait for Product 4.

Equality type class trait for Product 4.

trait EqT[A]

Equals type class trait.

Equals type class trait.

Companion
object
object EqT

The campanion object for the EqT type class, containing instances for common types. This does not currently use a functor instance for a number of reasons.

The campanion object for the EqT type class, containing instances for common types. This does not currently use a functor instance for a number of reasons.

Companion
class
implicit
class EqerImplicit[T](thisT: T)(implicit ev: EqT[T])
final
class Floats(val arrayUnsafe: Array[Float]) extends AnyVal with ArrBase[Float]

Immutable Array based class for Floats.

Immutable Array based class for Floats.

Companion
object
object Floats
Companion
class
final
class FloatsBuff(val unsafeBuff: ArrayBuffer[Float]) extends AnyVal with SeqGen[Float]
object FloatsBuild extends ArrBuilder[Float, Floats] with ArrFlatBuilder[Floats]
trait Functor[F[_]]

The functor type class.

The functor type class.

Companion
object
object Functor

Companion object for the Functor type class, contains implicit instances.

Companion object for the Functor type class, contains implicit instances.

Companion
class
implicit
class FunitRichImp(fu: () => Unit)
final
class GMetres(val gMetresNum: Double) extends AnyVal with MetricLength

Length measure in GigaMetres or millions of kilometres.

Length measure in GigaMetres or millions of kilometres.

Companion
object
object GMetres

Companion object for the GMetres GigaMeters (1000s of KMs) class contains apply factory method.

Companion object for the GMetres GigaMeters (1000s of KMs) class contains apply factory method.

Companion
class
final case
class Good[+A](value: A) extends EMon[A]

The Good sub class of EMon[+A]. This corresponds, but is not functionally equivalent to an Either[List[String], +A] based Right[Refs[String], +A].

The Good sub class of EMon[+A]. This corresponds, but is not functionally equivalent to an Either[List[String], +A] based Right[Refs[String], +A].

Companion
object
object Good
Companion
class
final case
class Good2[A1, A2](a1: A1, a2: A2) extends EMon2[A1, A2]
final case
class Good3[+A1, +A2, +A3](a1: A1, a2: A2, a3: A3) extends EMon3[A1, A2, A3]
case
object GoodArr0

Extractor function object for a Good Arr Sequence of length 0.

Extractor function object for a Good Arr Sequence of length 0.

object GoodArr1

Extractor function object for a Good Arr Sequence of length 1.

Extractor function object for a Good Arr Sequence of length 1.

object GoodArr2
object GoodArr3
object GoodArr4
object HelloEmon extends App

Test App for EMons.

Test App for EMons.

Extractor function object for hexadecimal characters.

Extractor function object for hexadecimal characters.

Extractor function object for lower case hexadecimal letter, 'a' .. 'f'.

Extractor function object for lower case hexadecimal letter, 'a' .. 'f'.

Extractor function object for upper case Hexadecimal letter, 'A' .. 'F'.

Extractor function object for upper case Hexadecimal letter, 'A' .. 'F'.

object Hour
trait ImperialLength extends Length

Common trait for metric units of length.

Common trait for metric units of length.

abstract
class Int2sArrPersist[A <: ElemInt2, M <: ArrInt2s[A]](typeStr: String) extends DataIntNsPersist[A, M]

Class to persist specialised flat Array[Int] based collections of ElemInt2s.

Class to persist specialised flat Array[Int] based collections of ElemInt2s.

final
class IntBuff(val unsafeBuff: ArrayBuffer[Int]) extends AnyVal with SeqGen[Int]
final
class IntExtensions(val thisInt: Int) extends AnyVal

Extension methods for Int.

Extension methods for Int.

final
class Ints(val arrayUnsafe: Array[Int]) extends AnyVal with ArrBase[Int]

Immutable Array based class for Ints. There are no concat methods, as Ints has no type parameter and can not be widened.

Immutable Array based class for Ints. There are no concat methods, as Ints has no type parameter and can not be widened.

Companion
object
object Ints
Companion
class
object IntsBuild extends ArrBuilder[Int, Ints] with ArrFlatBuilder[Ints]
trait IsType[A <: AnyRef]
Companion
object
object IsType
Companion
class
implicit
class IterableAnyRefImplicit[A <: AnyRef](thisIter: Iterable[A])(implicit ct: ClassTag[A])
final
class IterableExtensions[A](val thisIter: Iterable[A]) extends AnyVal

Extension methods for Iterable[A].

Extension methods for Iterable[A].

final
class IterableValueNElemExtensions[A <: ElemValueN](val thisIter: Iterable[A]) extends AnyVal

Extension methods for Iterable[A <: ValueNElem].

Extension methods for Iterable[A <: ValueNElem].

final
class KMetres(val kMetresNum: Double) extends AnyVal with MetricLength

Length in kilometres.

Length in kilometres.

Companion
object
object KMetres
Companion
class
trait Length extends Ordered[Length]

A quantity or measurement of length. The final classes include Metres, KMetres. The purpose of the separate classes is for displaying values. 100M and 0.1KMetres have the same value but will be displayed differently.

A quantity or measurement of length. The final classes include Metres, KMetres. The purpose of the separate classes is for displaying values. 100M and 0.1KMetres have the same value but will be displayed differently.

Companion
object
object Length

Companion object for Length trait contains extension class for Length

Companion object for Length trait contains extension class for Length

Companion
class
object LetterChar

Extractor function object for letter character.

Extractor function object for letter character.

Extractor function object for lower case letter character.

Extractor function object for lower case letter character.

Extractor function object for letter or digit character.

Extractor function object for letter or digit character.

Extractor function object for letter or underscore.

Extractor function object for letter or underscore.

Extractor function object for upper case letter character.

Extractor function object for upper case letter character.

final
class ListExtensions[A](val thisList: List[A]) extends AnyVal
final
class LongExtensions(val thisLong: Long) extends AnyVal
abstract
class LongNsArrBuilders[B <: ElemLongN, ArrB <: ArrLongNs[B]](typeStr: String) extends DataValueNsPersist[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for ArrLongNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for ArrLongNs final classes. Instances for the ArrBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrFlatBuilder] should go in the companion object the ArrT final class. The first type parameter is called B, because to corresponds to the B in map(f: A => B): ArrB function.

final
class Longs(val arrayUnsafe: Array[Long]) extends AnyVal with ArrBase[Long]

Immutable Array based class for Longs.

Immutable Array based class for Longs.

Companion
object
object Longs
Companion
class
final
class LongsBuff(val unsafeBuff: ArrayBuffer[Long]) extends AnyVal with SeqGen[Long]
object LongsBuild extends ArrBuilder[Long, Longs] with ArrFlatBuilder[Longs]
final
class MMetres(val mMetresNum: Double) extends AnyVal with MetricLength

Length in megametres or thousands of kilometres.

Length in megametres or thousands of kilometres.

final
class MMiles(val mMilesNum: Double) extends AnyVal with ImperialLength

Length in millions of miles.

Length in millions of miles.

final
class Metres(val metresNum: Double) extends AnyVal with MetricLength

Length in metres.

Length in metres.

Companion
object
object Metres

Companion object for the [[Metres] class.

Companion object for the [[Metres] class.

Companion
class
trait MetricLength extends Length

Common trait for metric units of length.

Common trait for metric units of length.

final
class Miles(val milesNum: Double) extends AnyVal with ImperialLength

Length in miles.

Length in miles.

Companion
object
object Miles

Companion object for the [[Metres] class.

Companion object for the [[Metres] class.

Companion
class
final
class MinesBuff(val unsafeBuff: ArrayBuffer[Double]) extends AnyVal with BuffDbl2s[MyDbl2]
object Minute
case
class Multiple[+A](value: A, num: Int)

The Multiple type class allow you to represent multiple values of type A. Implicit conversion in package object.

The Multiple type class allow you to represent multiple values of type A. Implicit conversion in package object.

Companion
object
object Multiple

Companion object for the Multiple[+A] type class.

Companion object for the Multiple[+A] type class.

Companion
class
case
class MyDbl2(a: Double, b: Double) extends ElemDbl2

An example of a class that is based on the product of 2 Doubles. This class, MyDbl2s and their companion objects show you the boiler plate necessary to create and use custom efficient flat Array based immutable collection classes.

An example of a class that is based on the product of 2 Doubles. This class, MyDbl2s and their companion objects show you the boiler plate necessary to create and use custom efficient flat Array based immutable collection classes.

Companion
object
object MyDbl2
Companion
class
final
class MyDbl2s(val arrayUnsafe: Array[Double]) extends AnyVal with ArrDbl2s[MyDbl2]
Companion
object
Companion
class
case
object NoColour extends OptColour with NoOpt[Colour]
case
object NoInt extends OptInt with NoOpt[Int]
trait NoOpt[A] extends Opt[A]
case
object NoOptEither extends OptEither[Nothing, Nothing]

An OptEither with a none value it has neither a value of type A or typeB,

An OptEither with a none value it has neither a value of type A or typeB,

trait NotSubTypeOf[A, B]
Companion
object
Companion
class

Extractor object for operator characters.

Extractor object for operator characters.

trait Opt[A]
sealed
trait OptColour extends Opt[Colour]
sealed
trait OptEither[+A, +B]

An Optional Either. The value can be an A a B or none.

An Optional Either. The value can be an A a B or none.

trait OptInt extends Opt[Int]
final case
class OptRef[+A <: AnyRef](value: A) extends AnyVal
final
class OptRefs[A <: AnyRef](val unsafeArray: Array[A]) extends AnyVal

OptRefs is an array based collection of optional values, that uses nulls for implementation. The collection use should not have to interact with the null values directly.

OptRefs is an array based collection of optional values, that uses nulls for implementation. The collection use should not have to interact with the null values directly.

Companion
object
object OptRefs
Companion
class
class OptionExtensions[A](thisOption: Option[A])
trait Persist[T] extends ShowT[T] with UnShow[T]

A convenience trait type class trait for persistence, that combines the ShowT and UnShow type classes. Most if not all final classes that inherit from this trait will require type class instances of ShowT and UnShowT to implement Persist's members. It is most important that these implicit parameter instances be specified as separate ShowT and UnShowT parameters. Do not combine them into a Persist parameter. There are no implicit instances for Int, Double, List etc in the Persist companion object, the Persist components for these standard types will be found in the ShowT and UnShow companion objects.

A convenience trait type class trait for persistence, that combines the ShowT and UnShow type classes. Most if not all final classes that inherit from this trait will require type class instances of ShowT and UnShowT to implement Persist's members. It is most important that these implicit parameter instances be specified as separate ShowT and UnShowT parameters. Do not combine them into a Persist parameter. There are no implicit instances for Int, Double, List etc in the Persist companion object, the Persist components for these standard types will be found in the ShowT and UnShow companion objects.

class Persist2[A1, A2, R](val typeStr: String, val name1: String, val fArg1: R => A1, val name2: String, val fArg2: R => A2, val newT: (A1, A2) => R, val opt2: Option[A2], opt1In: Option[A1])(implicit ev1In: Persist[A1], ev2In: Persist[A2]) extends Show2T[A1, A2, R] with PersistShowProductT[R]

Persistence class for product 2 type class. It ShowTs and UnShows objects with 2 logical parameters.

Persistence class for product 2 type class. It ShowTs and UnShows objects with 2 logical parameters.

Companion
object
object Persist2

Factory object for Persist product 2 type class

Factory object for Persist product 2 type class

Companion
class
trait Persist2Base[A1, A2, R] extends PersistBase

A base trait for Show2T and UnShow2

A base trait for Show2T and UnShow2

class Persist2Dbls[R <: Show2Dbls](typeStr: String, name1: String, name2: String, newT: (Double, Double) => R) extends Persist2Elem[Double, Double, R]

Persistence class for types that extends Show2Dl.

Persistence class for types that extends Show2Dl.

class Persist2Elem[A1, A2, R <: Show2[A1, A2]](val typeStr: String, val name1: String, val name2: String, val newT: (A1, A2) => R, val opt2: Option[A2], opt1In: Option[A1])(implicit ev1In: Persist[A1], ev2In: Persist[A2]) extends Show2ElemT[A1, A2, R] with PersistProduct[R]

Persist type class for types that extends Show2.

Persist type class for types that extends Show2.

class Persist2Ints[R <: Show2Ints](typeStr: String, name1: String, name2: String, newT: (Int, Int) => R) extends Persist2Elem[Int, Int, R]

Persistence type class for types that extend Show2Ints.

Persistence type class for types that extend Show2Ints.

class Persist3[A1, A2, A3, R](typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, val newT: (A1, A2, A3) => R, opt3: Option[A3], opt2: Option[A2], opt1: Option[A1])(implicit ev1: Persist[A1], ev2: Persist[A2], ev3: Persist[A3], eq1: EqT[A1], eq2: EqT[A2], eq3: EqT[A3]) extends Show3T[A1, A2, A3, R] with PersistShowProductT[R]

Persistence class for 3 logical parameter product types.

Persistence class for 3 logical parameter product types.

Companion
object
object Persist3
Companion
class
trait PersistCompound[R] extends ShowCompoundT[R] with Persist[R]

Persistence base trait for PersistCase and PersistSeqLike. Some methods probably need to be moved down into sub classes.

Persistence base trait for PersistCase and PersistSeqLike. Some methods probably need to be moved down into sub classes.

abstract
class PersistIterable[A, R <: Iterable[A]](ev: Persist[A]) extends PersistSeqLike[A, R] with ShowIterable[A, R]
trait PersistProduct[R] extends Persist[R]

The base trait for the persistence of algebraic product types, including case classes. Note the arity of the product, its size is based on the number of logical parameters. For example, a LineSeg is a product 2, it has a start point and an end point, although its is stored as 4 parameters xStart, yStart, xEnd, yEnd.

The base trait for the persistence of algebraic product types, including case classes. Note the arity of the product, its size is based on the number of logical parameters. For example, a LineSeg is a product 2, it has a start point and an end point, although its is stored as 4 parameters xStart, yStart, xEnd, yEnd.

class PersistSeqImplicit[A](ev: Persist[A]) extends PersistIterable[A, Seq[A]]
abstract
class PersistSeqLike[A, R](val evA: Persist[A]) extends ShowTSeqLike[A, R] with PersistCompound[R]
trait PersistShowProductT[R] extends PersistProduct[R] with ShowProductT[R]
abstract
class PersistSimple[A](val typeStr: String) extends ShowSimpleT[A] with Persist[A]

A Persist class described by a single value. This may be removed. Its not clear whether this means a single token or not.

A Persist class described by a single value. This may be removed. Its not clear whether this means a single token or not.

abstract
class PersistSingletons[A <: ShowSingleton](typeStr: String) extends PersistSimple[A]

I think this class may be redundant and can be replace by a more general PersistSum class for displaying algebraic sum types.

I think this class may be redundant and can be replace by a more general PersistSum class for displaying algebraic sum types.

abstract
class PersistSum2[ST <: AnyRef, A1 <: ST, A2 <: ST](val ev1: Persist[A1], val ev2: Persist[A2])(implicit ct1: ClassTag[A1], ct2: ClassTag[A2]) extends ShowSum2[ST, A1, A2] with UnShowSum2[ST, A1, A2] with Persist[ST]
implicit
class RangeExtensions(range: Range)
implicit
class RefBufferExtensions[A <: AnyRef](thisBuff: ArrayBuffer[A])

Needs Changing.

Needs Changing.

final
class Rval(val str: String) extends AnyVal

Helper class for constructing Strings from ShowT implicit instances on objects.

Helper class for constructing Strings from ShowT implicit instances on objects.

Companion
object
object Rval
Companion
class
object Second
class SeqExtensions[A](thisSeq: Seq[A])

Extension methods for the Seq[A] class. These are bought into scope by the seqToImplicit method in the package object.

Extension methods for the Seq[A] class. These are bought into scope by the seqToImplicit method in the package object.

trait SeqGen[+A] extends DataGen[A]

This the base trait for all efficient sequence collections based on Array like classes, Arrays, ArrayBuffers etc. The final classes compile time wrap the platform Array and buffer classes. So currently there are just two classes for each type A, An ArrImut that wraps a standard immutable Array to produce an immutable array, and a ArrBuff that wraps an ArrayBuffer. Currently this just in a standard ArrayBuffer. Where A is a compound value types or an AnyVal type.

This the base trait for all efficient sequence collections based on Array like classes, Arrays, ArrayBuffers etc. The final classes compile time wrap the platform Array and buffer classes. So currently there are just two classes for each type A, An ArrImut that wraps a standard immutable Array to produce an immutable array, and a ArrBuff that wraps an ArrayBuffer. Currently this just in a standard ArrayBuffer. Where A is a compound value types or an AnyVal type.

final
class Setting(val str: String) extends AnyVal

Class for creating RSOn settings.

Class for creating RSOn settings.

Companion
object
object Setting
Companion
class
trait Show

A trait for providing an alternative to toString. USing this trait can be convenient, but at some level of the inheritance the type must provide a ShowT type class instance. It is better for the ShowT type class instance to delegate to this trait than have the toString method delegate to the ShowT type class instance in the companion object. Potentially that can create initialisation order problems, but at the very least it can increase compile times.

A trait for providing an alternative to toString. USing this trait can be convenient, but at some level of the inheritance the type must provide a ShowT type class instance. It is better for the ShowT type class instance to delegate to this trait than have the toString method delegate to the ShowT type class instance in the companion object. Potentially that can create initialisation order problems, but at the very least it can increase compile times.

Companion
object
object Show

Companion object of the Show trait contains the Way trait, used by the show method on Show and the showT method on ShowT

Companion object of the Show trait contains the Way trait, used by the show method on Show and the showT method on ShowT

Companion
class
trait Show2[A1, A2] extends ShowProduct

Trait for Show for a product of 2 logical elements. This trait is implemented directly by the type in question, unlike the corresponding Show2T trait which externally acts on an object of the specified type to create its String representations. For your own types it is better to inherit from Show2 and then use Show2ElemT or Persist2ElemT to create the type class instance for ShowT. The Show2ElemT or Persist2Elem class will delegate to Show2 for some of its methods. It is better to use Show2 to override toString method than delegating the toString override to a Show2T instance.

Trait for Show for a product of 2 logical elements. This trait is implemented directly by the type in question, unlike the corresponding Show2T trait which externally acts on an object of the specified type to create its String representations. For your own types it is better to inherit from Show2 and then use Show2ElemT or Persist2ElemT to create the type class instance for ShowT. The Show2ElemT or Persist2Elem class will delegate to Show2 for some of its methods. It is better to use Show2 to override toString method than delegating the toString override to a Show2T instance.

trait Show2Base32s extends Show2[Int, Int] with ElemInt2

Trait for Show for product of 2 Ints. This trait is implemented directly by the type in question, unlike the corresponding Show2IntsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

Trait for Show for product of 2 Ints. This trait is implemented directly by the type in question, unlike the corresponding Show2IntsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

trait Show2Base32sT[R <: Show2Base32s] extends Show2ElemT[Int, Int, R]

A trait for making quick ShowT instances for products of 2 Ints persisted in Base32.

A trait for making quick ShowT instances for products of 2 Ints persisted in Base32.

Companion
object
Companion
class
trait Show2Dbls extends Show2[Double, Double] with ElemDbl2

Trait for Show for product of 2 Doubles. This trait is implemented directly by the type in question, unlike the corresponding Show2DblsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

Trait for Show for product of 2 Doubles. This trait is implemented directly by the type in question, unlike the corresponding Show2DblsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

trait Show2DblsT[R <: Show2Dbls] extends Show2ElemT[Double, Double, R]

A trait for making quick ShowT instances for products of 2 Doubles.

A trait for making quick ShowT instances for products of 2 Doubles.

Companion
object
object Show2DblsT
Companion
class
trait Show2ElemT[A1, A2, R <: Show2[A1, A2]] extends ShowElemT[R]
Companion
object
object Show2ElemT
Companion
class
trait Show2Ints extends Show2[Int, Int] with ElemInt2

Trait for Show for product of 2 Ints. This trait is implemented directly by the type in question, unlike the corresponding Show2IntsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

Trait for Show for product of 2 Ints. This trait is implemented directly by the type in question, unlike the corresponding Show2IntsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

trait Show2IntsT[R <: Show2Ints] extends Show2ElemT[Int, Int, R]

A trait for making quick ShowT instances for products of 2 Ints.

A trait for making quick ShowT instances for products of 2 Ints.

Companion
object
object Show2IntsT
Companion
class
trait Show2T[A1, A2, R] extends ShowProductT[R] with Persist2Base[A1, A2, R]

Show type class for 2 parameter case classes.

Show type class for 2 parameter case classes.

Companion
object
object Show2T
Companion
class
class Show2TExtensions[A1, A2, -T](ev: Show2T[A1, A2, T], thisVal: T)
trait Show3[A1, A2, A3] extends ShowProduct

Trait for Show for a product of 3 logical elements. This trait is implemented directly by the type in question, unlike the corresponding Show3T trait which externally acts on an object of the specified type to create its String representations. For your own types it is better to inherit from Show3 and then use Show3ElemT or Persist3ElemT to create the type class instance for ShowT. The Show3ElemT or Persist3Elem class will delegate to Show3 for some of its methods. It is better to use Show3 to override toString method than delegating the toString override to a Show3T instance.

Trait for Show for a product of 3 logical elements. This trait is implemented directly by the type in question, unlike the corresponding Show3T trait which externally acts on an object of the specified type to create its String representations. For your own types it is better to inherit from Show3 and then use Show3ElemT or Persist3ElemT to create the type class instance for ShowT. The Show3ElemT or Persist3Elem class will delegate to Show3 for some of its methods. It is better to use Show3 to override toString method than delegating the toString override to a Show3T instance.

trait Show3Dbls extends Show3[Double, Double, Double] with ElemDbl3

Trait for Show for product of 2 Doubles. This trait is implemented directly by the type in question, unlike the corresponding Show2DblsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

Trait for Show for product of 2 Doubles. This trait is implemented directly by the type in question, unlike the corresponding Show2DblsT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over Show2T.

class Show3T[A1, A2, A3, R](val typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, val opt3: Option[A3], opt2In: Option[A2], opt1In: Option[A1])(implicit ev1: ShowT[A1], ev2: ShowT[A2], ev3: ShowT[A3], eq1: EqT[A1], eq2: EqT[A2], eq3: EqT[A3]) extends Eq3T[A1, A2, A3, R] with ShowProductT[R]

Show type class for 3 parameter case classes.

Show type class for 3 parameter case classes.

abstract
class Show4T[A1, A2, A3, A4, R](val typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, name4: String, fArg4: R => A4, val opt4: Option[A4], opt3In: Option[A3], opt2In: Option[A2], opt1In: Option[A1])(implicit ev1: ShowT[A1], ev2: ShowT[A2], ev3: ShowT[A3], ev4: ShowT[A4]) extends ShowProductT[R]

Show type class for 4 parameter case classes.

Show type class for 4 parameter case classes.

class Show5T[A1, A2, A3, A4, A5, R](val typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, name4: String, fArg4: R => A4, name5: String, fArg5: R => A5, val opt5: Option[A5], opt4In: Option[A4], opt3In: Option[A3], opt2In: Option[A2], opt1In: Option[A1])(implicit ev1: ShowT[A1], ev2: ShowT[A2], ev3: ShowT[A3], ev4: ShowT[A4], ev5: ShowT[A5]) extends ShowProductT[R]

Show type class for 5 parameter case classes.

Show type class for 5 parameter case classes.

Companion
object
object Show5T
Companion
class
class Show6T[A1, A2, A3, A4, A5, A6, R](val typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, name4: String, fArg4: R => A4, name5: String, fArg5: R => A5, name6: String, fArg6: R => A6, val opt6: Option[A6], val opt5In: Option[A5], opt4In: Option[A4], opt3In: Option[A3], opt2In: Option[A2], opt1In: Option[A1])(implicit ev1: ShowT[A1], ev2: ShowT[A2], ev3: ShowT[A3], ev4: ShowT[A4], ev5: ShowT[A5], ev6: ShowT[A6]) extends ShowProductT[R]

Show type class for 5 parameter case classes.

Show type class for 5 parameter case classes.

Companion
object
object Show6T
Companion
class
trait ShowCompoundT[R] extends ShowT[R]

Show trait for Compound types contain elements, requiring the Show class or classes for the type or types of the constituent elements.

Show trait for Compound types contain elements, requiring the Show class or classes for the type or types of the constituent elements.

trait ShowElemT[R <: Show] extends ShowT[R]

A sub trait of the ShowT sub class where the type parameter of ShowT extends Show. This allows the ShowT type class to delegate to the Show class for the implementation of its strT and ShowT methods. It is better to use Show and ShowElemT for types you control than have the toString method delegate to the ShowT type class instance in the companion object. Potentially that can create initialisation order problems, but at the very least it can increase compile times.

A sub trait of the ShowT sub class where the type parameter of ShowT extends Show. This allows the ShowT type class to delegate to the Show class for the implementation of its strT and ShowT methods. It is better to use Show and ShowElemT for types you control than have the toString method delegate to the ShowT type class instance in the companion object. Potentially that can create initialisation order problems, but at the very least it can increase compile times.

Companion
object
object ShowElemT
Companion
class
trait ShowIterable[A, R <: Iterable[A]] extends ShowTSeqLike[A, R]
trait ShowPrecisonT[-T] extends PersistBase
Companion
object
Companion
class
trait ShowProduct extends Show

Trait for Show for product types. This trait is implemented directly by the type in question, unlike the corresponding ShowProductT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over ShowProductT.

Trait for Show for product types. This trait is implemented directly by the type in question, unlike the corresponding ShowProductT trait which externally acts on an object of the specified type to create its String representations. For your own types ShowProduct is preferred over ShowProductT.

trait ShowProductT[R] extends ShowCompoundT[R]

The base trait for the persistence of algebraic product types, including case classes.

The base trait for the persistence of algebraic product types, including case classes.

trait ShowSimpleT[-A] extends ShowT[A]

Shows a simple object like a Singleton object or a Double. For your own objects that you control it is better to use Show and its helper sub rather than the sub traits of ShowT to implement your Show functionality.S

Shows a simple object like a Singleton object or a Double. For your own objects that you control it is better to use Show and its helper sub rather than the sub traits of ShowT to implement your Show functionality.S

trait ShowSingleton extends Show

All the leaves of this trait must be Singleton objects. They just need to implement the str method. This will normally be the name of the object, but sometimes, it may be a lengthened or shortened version of the singleton object name.

All the leaves of this trait must be Singleton objects. They just need to implement the str method. This will normally be the name of the object, but sometimes, it may be a lengthened or shortened version of the singleton object name.

abstract
class ShowSum2[ST <: AnyRef, A1 <: ST, A2 <: ST]()(implicit val ct1: ClassTag[A1], val ct2: ClassTag[A2]) extends ShowT[ST]

Show class for algebraic sum types. If you are using your own code then Show sum types handled by inheritance.

Show class for algebraic sum types. If you are using your own code then Show sum types handled by inheritance.

Companion
object
object ShowSum2
Companion
class
trait ShowT[-T] extends PersistBase

A type class for string, text and visual representation of objects. An alternative to toString. This trait has mor demanding ambitions Mostly you will want to use Persist which not only gives the Show methods to String representation, but the methods to parse Strings back to objects of the type T. However it may often be useful to start with Show type class and upgrade it later to Persist[T].

A type class for string, text and visual representation of objects. An alternative to toString. This trait has mor demanding ambitions Mostly you will want to use Persist which not only gives the Show methods to String representation, but the methods to parse Strings back to objects of the type T. However it may often be useful to start with Show type class and upgrade it later to Persist[T].

Companion
object
object ShowT
Companion
class
class ShowTExtensions[-A](ev: ShowT[A], thisVal: A)

The stringer implicit class gives extension methods for Show methods from the implicit Show instance type A.

The stringer implicit class gives extension methods for Show methods from the implicit Show instance type A.

trait ShowTSeqLike[A, R] extends ShowCompoundT[R]
case
class SomeA[+A, +B](value: A) extends OptEither[A, B]

An OptEither instantiation that has a value of type A, the first type parameter.

An OptEither instantiation that has a value of type A, the first type parameter.

case
class SomeB[+A, +B](value: B) extends OptEither[A, B]

An OptEither instantiation that has a value of type B, the second type parameter.

An OptEither instantiation that has a value of type B, the second type parameter.

class SomeColour(argbValue: Int) extends OptColour with SomeT[Colour]
Companion
object
object SomeColour
Companion
class
case
class SomeInt(value: Int) extends OptInt with SomeT[Int]
object SomeRef
trait SomeT[A] extends Opt[A]

if you create your own specialist Arr class for a type T, make sure that type T extends SpecialT.

if you create your own specialist Arr class for a type T, make sure that type T extends SpecialT.

trait SpecialT

if you create your own specialist Arr class for a type T, make sure that type T extends SpecialT. Traits that extend SpecialT are excluded from the implicit instance for Arr.

if you create your own specialist Arr class for a type T, make sure that type T extends SpecialT. Traits that extend SpecialT are excluded from the implicit instance for Arr.

object StrPosn
final
class StringImplicit(val thisString: String) extends AnyVal

Extension methods for String. Brought into scope by the stringToImplicit method in the package object.

Extension methods for String. Brought into scope by the stringToImplicit method in the package object.

case
class StringIterableExtensions(iter: Iterable[String])
final
class Strings(val arrayUnsafe: Array[String]) extends AnyVal with ArrBase[String]

Immutable Array based class for Strings.

Immutable Array based class for Strings.

Companion
object
object Strings

Companion object of ArrStrings class contains repeat parameter apply factor method.

Companion object of ArrStrings class contains repeat parameter apply factor method.

Companion
class
final
class StringsBuff(val unsafeBuff: ArrayBuffer[String]) extends AnyVal with SeqGen[String]
object StringsBuild extends ArrBuilder[String, Strings] with ArrFlatBuilder[Strings]
trait Sumable[A]

A type class for a sum like operation

A type class for a sum like operation

Companion
object
object Sumable
Companion
class
case
class TextPosn(fileName: String, lineNum: Int, linePosn: Int)
Companion
object
object TextPosn
Companion
class
trait TextSpan
Companion
object
object TextSpan
Companion
class

The purpose of this trait is to give the position span of the syntax from its opening and closing components.

The purpose of this trait is to give the position span of the syntax from its opening and closing components.

Companion
object
Companion
class
object TimeDate
Companion
class
final
class TimeDate(val tics: Long) extends AnyVal
Companion
object
object TimeSpan
Companion
class
final
class TimeSpan(val tics: Long) extends AnyVal
Companion
object
implicit
class Tuple2Implicit[A1, A2](thisTuple: (A1, A2))
trait UnShow[+T] extends PersistBase

The UnShow type class produces an object in memory or an error sequence from RSON syntax strings.

The UnShow type class produces an object in memory or an error sequence from RSON syntax strings.

Companion
object
object UnShow

Companion object for the UnShow type class trait, contains implicit instances for common types.

Companion object for the UnShow type class trait, contains implicit instances for common types.

Companion
class
trait UnShow2T[A1, A2, R] extends UnShowProduct[R] with Persist2Base[A1, A2, R]

UnShow type class trait for a 2 element Product.

UnShow type class trait for a 2 element Product.

class UnShow3[A1, A2, A3, R](val typeStr: String, name1: String, fArg1: R => A1, name2: String, fArg2: R => A2, name3: String, fArg3: R => A3, val newT: (A1, A2, A3) => R, opt3: Option[A3], opt2: Option[A2], opt1: Option[A1])(implicit ev1: UnShow[A1], ev2: UnShow[A2], ev3: UnShow[A3], eq1: EqT[A1], eq2: EqT[A2], eq3: EqT[A3]) extends UnShowProduct[R]

UnShow class for 3 logical parameter product types.

UnShow class for 3 logical parameter product types.

trait UnShow5[A1, A2, A3, A4, A5, R] extends UnShowProduct[R]

Unshow trait for 5 parameter product / case classes.

Unshow trait for 5 parameter product / case classes.

trait UnShow6[A1, A2, A3, A4, A5, A6, R] extends UnShowProduct[R]

UnShow trait for 6 parameter product / case classes.

UnShow trait for 6 parameter product / case classes.

trait UnShowProduct[R] extends UnShow[R]
trait UnShowSum2[+ST <: AnyRef, A1 <: ST, A2 <: ST] extends UnShow[ST]
final
class Volume(val metresCubed: Double) extends AnyVal

Not sure about this class.

Not sure about this class.

Extractor object for whitespace characters.

Extractor object for whitespace characters.

object WholeHours
Companion
class
final
class WholeHours(val value: Int) extends AnyVal
Companion
object
final
class Yards(val yardsNum: Double) extends AnyVal with ImperialLength

Length in yards.

Length in yards.

Types

type AnyRefs = Arr[AnyRef]
type Buff[A] = ArrayBuffer[A]
type ERefs[A <: AnyRef] = EMon[Arr[A]]
type Not[T] = { type L = NotSubTypeOf; }
type RefTag[A] = AnyRef & ClassTag[A]
type RefsMulti[A <: AnyRef] = Arr[Multiple[A]]
type ShowEq[A] = ShowT[A] & EqT[A]

Value members

Concrete methods

@inline
def Buff[A](initialLength: Int): ArrayBuffer[A]
def NoRef[A <: AnyRef]: OptRef[A]
def average(d1: Double, tail: Double*): Double

Gives the average of the supplied values.

Gives the average of the supplied values.

def bad1[B](fs: TextSpan, detail: String): Bad[B]
@inline
def buffInt(initialLength: Int): ArrayBuffer[Int]
def commaedInts(iSeq: Int*): String
inline
def deb(str: String): Unit

Simple macro, prints out string preceded by source code position.

Simple macro, prints out string preceded by source code position.

def debImpl(expr: Expr[String])(using Quotes): Expr[Unit]
inline
def debb(): Unit

Simplest Macro that shows source code position. Must include parenthesis debb(). Without the parenthesis the macro will not print.

Simplest Macro that shows source code position. Must include parenthesis debb(). Without the parenthesis the macro will not print.

def debbImpl(using Quotes): Expr[Unit]
inline
def debvar(expr: Any): Unit

An expression debug macro. Prints out source code position followed by expression name, followed by expression value.

An expression debug macro. Prints out source code position followed by expression name, followed by expression value.

def debvarImpl(expr: Expr[Any])(using Quotes): Expr[Unit]
def eTry[A](res: => A): EMon[A]
def eqOf[A](leftValue: A, rightValues: A*): Boolean
@inline
def excep(str: => String): Nothing
def hypotenuse(side1: Double, side2: Double): Double

Gives the scalar hypotenuse length for a right angled triangle form the paramter lengths of the other 2 sides.

Gives the scalar hypotenuse length for a right angled triangle form the paramter lengths of the other 2 sides.

def iDblToMap[A, AA <: ArrBase[A]](iFrom: Double, iTo: Double, iStep: Double)(f: Double => A)(implicit ev: ArrBuilder[A, AA]): AA

Not sure if this correct. This might throw on iStep = 0.

Not sure if this correct. This might throw on iStep = 0.

def iToFlatMap[AA <: ArrBase[_]](iFrom: Int, iTo: Int, iStep: Int)(f: Int => AA)(implicit ev: ArrFlatBuilder[AA]): AA

flatMaps over a range of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

flatMaps over a range of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

def iToFoldInt(iFrom: Int, iTo: Int, iStep: Int, accInit: Int)(f: (Int, Int) => Int): Int

Folds over a range of Ints to an Int. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

Folds over a range of Ints to an Int. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

def iToFoldSumInt(iFrom: Int, iTo: Int, iStep: Int, accInit: Int)(f: Int => Int): Int

Folds over a range of Ints to an Int, adding the return Int value to the accumulator. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

Folds over a range of Ints to an Int, adding the return Int value to the accumulator. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1. Throws on non termination.

def iToForeach(iFrom: Int, iTo: Int, iStep: Int)(f: Int => Unit): Unit

foreachs over a range of integers from parameter 1 to parameter 2 in steps of parameter 3. Throws on non termination.

foreachs over a range of integers from parameter 1 to parameter 2 in steps of parameter 3. Throws on non termination.

def iToMap[A, AA <: ArrBase[A]](iFrom: Int, iTo: Int, iStep: Int)(f: Int => A)(implicit ev: ArrBuilder[A, AA]): AA

maps over a range of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1.

maps over a range of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step value is 1.

def iUntilFoldInt(iFrom: Int, iUntil: Int, iStep: Int, accInit: Int)(f: (Int, Int) => Int): Int

Folds over a range of Ints to an Int. From the start value until (while index is less than) the end value in integer steps. Default step value is 1.

Folds over a range of Ints to an Int. From the start value until (while index is less than) the end value in integer steps. Default step value is 1.

def iUntilFoldSumInt(iFrom: Int, iUntil: Int, iStep: Int, accInit: Int)(f: Int => Int): Int

Folds over a range of Ints to an Int adding the return Int value to the accumulator. From the start value until (while index is less than) the end value in integer steps. Default step value is 1.

Folds over a range of Ints to an Int adding the return Int value to the accumulator. From the start value until (while index is less than) the end value in integer steps. Default step value is 1.

def iUntilForeach(iFrom: Int, iUntil: Int, iStep: Int)(f: Int => Unit): Unit

foreachs over a range of integers from parameter 1 until parameter 2 (while index is less than) in steps of parameter 3. Throws on non termination.

foreachs over a range of integers from parameter 1 until parameter 2 (while index is less than) in steps of parameter 3. Throws on non termination.

def iUntilMap[A, AA <: ArrBase[A]](iFrom: Int, iUntil: Int, iStep: Int)(f: Int => A)(implicit ev: ArrBuilder[A, AA]): AA

Maps a range of Ints to an ArrImut[A]. From the start value until (while index is less than) the end value in integer steps. Default step value is 1. Throws on non termination.

Maps a range of Ints to an ArrImut[A]. From the start value until (while index is less than) the end value in integer steps. Default step value is 1. Throws on non termination.

@inline
def if2Excep[A](b1: Boolean, vTrue1: => A, b2: Boolean, vTrue2: => A, excepStr: => String): A
@inline
def if3Excep[A](b1: Boolean, vTrue1: => A, b2: Boolean, vTrue2: => A, b3: Boolean, vTrue3: => A, excepStr: => String): A
@inline
def ifExcep(b: Boolean, str: => String): Unit
@inline
def ifNotExcep(b: Boolean, str: => String): Unit
@inline
def ife[A](b: Boolean, vTrue: => A, vFalse: => A): A

if-else. If the condition is true, use 2nd parameter, else use 3rd parameter.

if-else. If the condition is true, use 2nd parameter, else use 3rd parameter.

@inline
def ife2[A](b1: Boolean, vTrue1: => A, b2: => Boolean, vTrue2: => A, vElse: => A): A

if-elseif-else. If the first condition is true, use 2nd parameter, else if the second condition in parameter 3 is true use 4th parameter.

if-elseif-else. If the first condition is true, use 2nd parameter, else if the second condition in parameter 3 is true use 4th parameter.

@inline
def ife3[A](b1: Boolean, vTrue1: => A, b2: => Boolean, vTrue2: => A, b3: => Boolean, vTrue3: => A, vElse: => A): A
@inline
def ife4[A](b1: Boolean, vTrue1: => A, b2: => Boolean, vTrue2: => A, b3: => Boolean, vTrue3: => A, b4: => Boolean, vTrue4: => A, vElse: => A): A
@inline
def ife5[A](b1: Boolean, vTrue1: => A, b2: => Boolean, vTrue2: => A, b3: => Boolean, vTrue3: => A, b4: => Boolean, vTrue4: => A, b5: => Boolean, vTrue5: => A, vElse: => A): A
@inline
def ifne[A](b: Boolean, vNotTrue: => A, visTrue: => A): A

ifNot-else. If the condition is false, use 2nd parameter, else use 3rd parameter.

ifNot-else. If the condition is false, use 2nd parameter, else use 3rd parameter.

def ijSameToMap[A, AA <: ArrBase[A]](nFrom: Int, nTo: Int, nStep: Int)(f: (Int, Int) => A)(implicit ev: ArrBuilder[A, AA]): AA

ijToMap where i and j have identical ranges.

ijToMap where i and j have identical ranges.

def ijToForeach(iFrom: Int, iTo: Int, iStep: Int)(jFrom: Int, jTo: Int, jStep: Int)(f: (Int, Int) => Unit): Unit

2 dimensional from-to-step foreach loop. Throws on non termination.

2 dimensional from-to-step foreach loop. Throws on non termination.

def ijToMap[A, AA <: ArrBase[A]](iFrom: Int, iTo: Int, iStep: Int)(jFrom: Int, jTo: Int, jStep: Int)(f: (Int, Int) => A)(implicit ev: ArrBuilder[A, AA]): AA

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step values are 1.

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step values are 1.

def ijUntilForeach(iFrom: Int, iUntil: Int, iStep: Int)(jFrom: Int, jUntil: Int, jStep: Int)(f: (Int, Int) => Unit): Unit
def ijUntilMap[A, AA <: ArrBase[A]](iFrom: Int, iUntil: Int, iStep: Int)(jFrom: Int, jUntil: Int, jStep: Int)(f: (Int, Int) => A)(implicit ev: ArrBuilder[A, AA]): AA

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value until (while index is less than) the end value in integer steps. Default step values are 1.

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value until (while index is less than) the end value in integer steps. Default step values are 1.

def ijkToForeach(iFrom: Int, iTo: Int, iStep: Int)(jFrom: Int, jTo: Int, jStep: Int)(kFrom: Int, kTo: Int, kStep: Int)(f: (Int, Int, Int) => Unit): Unit

3 dimensional from-to-step foreach loop. Throws on non termination.

3 dimensional from-to-step foreach loop. Throws on non termination.

def ijkToMap[A, AA <: ArrBase[A]](iFrom: Int, iTo: Int, iStep: Int)(jFrom: Int, jTo: Int, jStep: Int)(kFrom: Int, kTo: Int, kStep: Int)(f: (Int, Int, Int) => A)(implicit ev: ArrBuilder[A, AA]): AA

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step values are 1.

2 dimensional map function. i is the index for the outer loop. j is the index for the inner loop. maps over 2 ranges of Ints to an ArrBase[A]. From the start value to (while index is less than or equal to) the end value in integer steps. Default step values are 1.

@inline
def oif[U](b: Boolean, vTrue: => Unit): Unit

onlyIf-do. Only if the condition is true, perform the effect.

onlyIf-do. Only if the condition is true, perform the effect.

def parseErr(fp: TextPosn, detail: String): String

Not sure about this method.

Not sure about this method.

inline
def posnStr(): String

Macro for getting the file name and line number of the source code position.

Macro for getting the file name and line number of the source code position.

def posnStrImpl(using Quotes): Expr[String]
def readDouble: Double
def readInt: Int
def readT[T](implicit ev: Persist[T]): T

Not sure what this method does.

Not sure what this method does.

def twoIntsToDouble(i1: Int, i2: Int): Double

Concrete fields

val Cos30: Double

The cosine of 30 degrees or π/6 radians.

The cosine of 30 degrees or π/6 radians.

val Cos60: Double

the cosine of 60 degrees or π/3 radians.

the cosine of 60 degrees or π/3 radians.

val Pi1: Double

Pi. This has been named Pi1 to avoid a name clash if math._ is imported.

Pi. This has been named Pi1 to avoid a name clash if math._ is imported.

val Pi2: Double

val PiOn2: Double

π/2

π/2

val PiOn3: Double

π/3

π/3

val PiOn4: Double

π/4

π/4

val Sin30: Double

The sine of 30 degrees or π/6 radians.

The sine of 30 degrees or π/6 radians.

val Sin60: Double

The sine of 60 degrees or π/3 radians.

The sine of 60 degrees or π/3 radians.

val Sqrt2: Double

The square root of 2.

The square root of 2.

val Sqrt3: Double

The square root of 3.

The square root of 3.

val Tan30: Double

The tangent of 30 degrees or π/6 radians.

The tangent of 30 degrees or π/6 radians.

val two32: Long

Implicits

Implicits

implicit
final implicit
def ApproxImplicitClass[D, T](thisT: T)(implicit ev: ApproxT[D, T]): ApproxImplicitClass[D, T]

Extension methods for approximation type class.

Extension methods for approximation type class.

final implicit
def ArrayBufferDoubleExtensions(thisBuff: ArrayBuffer[Double]): ArrayBufferDoubleExtensions
final implicit
def ArrayBufferExtensions[A](thisBuff: ArrayBuffer[A])(implicit ct: ClassTag[A]): ArrayBufferExtensions[A]
final implicit
def ArrayIntExtension(array: Array[Int]): ArrayIntExtension
final implicit
def EqerImplicit[T](thisT: T)(implicit ev: EqT[T]): EqerImplicit[T]
final implicit
def FunitRichImp(fu: () => Unit): FunitRichImp
final implicit
def IterableAnyRefImplicit[A <: AnyRef](thisIter: Iterable[A])(implicit ct: ClassTag[A]): IterableAnyRefImplicit[A]
final implicit
def RangeExtensions(range: Range): RangeExtensions
final implicit
def RefBufferExtensions[A <: AnyRef](thisBuff: ArrayBuffer[A]): RefBufferExtensions[A]

Needs Changing.

Needs Changing.

final implicit
def Tuple2Implicit[A1, A2](thisTuple: (A1, A2)): Tuple2Implicit[A1, A2]
implicit
def arrayToExtensions[A](arr: Array[A]): ArrayExtensions[A]
implicit
implicit
def charToExtensions(thisChar: Char): CharExtensions
implicit
implicit
implicit
def iterableToExtensions[A](iter: Iterable[A]): IterableExtensions[A]
implicit
def listToExtensions[A](thisList: List[A]): ListExtensions[A]
implicit
implicit
def optionToExtension[A](thisOption: Option[A]): OptionExtensions[A]
implicit
def seqToExtensions[A](thisSeq: Seq[A]): SeqExtensions[A]
implicit
def show2TypeToExtensions[A1, A2, T](thisVal: T)(implicit ev: Show2T[A1, A2, T]): Show2TExtensions[A1, A2, T]
implicit
def showTypeToExtensions[A](thisVal: A)(implicit ev: ShowT[A]): ShowTExtensions[A]
implicit
implicit
implicit