ostrat

package ostrat

Type members

Classlikes

object AlphaParenth
final class AnyBuff[A](val unsafeBuff: ArrayBuffer[A]) extends AnyVal with ArrayLike[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 ArrTBuilder[B, Arr[B]] with ArrTFlatBuilder[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]
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 AnyVal with ArrImut[A]

The immutable Array based class for types without there own specialised ArrImut collection classes. It Inherits the standard foreach, map, flatMap and fold and their variations' methods from ArrayLike.

The immutable Array based class for types without there own specialised ArrImut collection classes. It Inherits the standard foreach, map, flatMap and fold and their variations' methods from ArrayLike.

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 <: ArrayDblBased] extends ArrImut[A]
trait ArrArrayDblBuild[A <: ArrayDblBased, ArrT <: ArrArrayDbl[A]] extends ArrTBuilder[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 <: ArrayDblBased, ArrT <: ArrArrayDbl[A]] extends EqT[ArrT]
Companion
object
Companion
class
trait ArrBaseOff[A, ArrT <: ArrImut[A]]
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 ArrImut[+A] extends ArrayLike[A]

Base trait for specialised immutable 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. 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.

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.

object ArrOff1Tail

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 ArrOff2Tail
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
abstract class ArrProdDbl4Persist[A <: Dbl4Elem, ArrA <: Dbl4sArr[A]](typeStr: String) extends DblNsArrPersist[A, ArrA]

Persists [[Dble4Elem] Collection classes.

Persists [[Dble4Elem] Collection classes.

trait ArrTBuilder[B, ArrB <: ArrImut[B]] extends ArrTBuilderCommon[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 ArrTBuilderCommon[ArrB <: ArrImut[_]]

A common trait inherited by ArrTBuilder and ArrTFlatBuider.

A common trait inherited by ArrTBuilder and ArrTFlatBuider.

trait ArrTFlatBuilder[ArrT <: ArrImut[_]] extends ArrTBuilderCommon[ArrT]

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 ArrTBuilder[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 ArrTBuilder[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
class ArrayBufferDoubleExtensions(thisBuff: ArrayBuffer[Double])
class ArrayBufferExtensions[A](thisBuff: ArrayBuffer[A])(implicit ct: ClassTag[A])
trait ArrayDoubleBuff[A <: ArrayDblBased] extends ArrayLike[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

class ArrayIntExtension(array: Array[Int])
trait ArrayLike[+A] extends ArrayLikeBase[A]

This the base trait for all collections based on Array like classes, Arrays, ArrayBuffers etc. that compile time platform Array 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 collections based on Array like classes, Arrays, ArrayBuffers etc. that compile time platform Array 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.

trait ArrayLikeBase[A]

Not sure how useful this trait is. It has been created for the OptRefs trait because the Scala2 compiler has problems extending ArrayLike.

Not sure how useful this trait is. It has been created for the OptRefs trait because the Scala2 compiler has problems extending ArrayLike.

case class ArrayLikeShow[A, R <: ArrayLike[A]](evA: ShowT[A]) extends ShowTSeqLike[A, R]
final class ArrayValueNElemExtensions[A <: ValueNElem](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 ArrayLike[Boolean]
final class BooleanExtensions(val thisBool: Boolean) extends AnyVal
final class Booleans(val array: Array[Boolean]) extends AnyVal with ArrImut[Boolean]

An immutable Array based class for Booleans.

An immutable Array based class for Booleans.

Companion
object
object Booleans
Companion
class
class CharExtensions(thisChar: Char)
final class Chars(val arrayUnsafe: Array[Char]) extends AnyVal with ArrImut[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.

object CharsOffHead

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 Int1Elem

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 buffer: ArrayBuffer[Int]) extends AnyVal with Int1sBuffer[Colour, Colours]

ArrayBuffer based buffer class for Colours.

ArrayBuffer based buffer class for Colours.

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

Specialist Array[Int] based class for Colours.

Specialist Array[Int] based class for Colours.

Companion
object
object Colours
Companion
class
trait Dbl1Elem extends DblNElem

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

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

trait Dbl1sArr[A <: Dbl1Elem] extends DblNsArr[A]

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

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

trait Dbl2Elem extends DblNElem

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

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

trait Dbl2sArr[A <: Dbl2Elem] extends DblNsArr[A]

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

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

trait Dbl2sArrBuilder[B <: Dbl2Elem, ArrB <: Dbl2sArr[B]] extends DblNsArrBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Dbl2Arr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend Dbl2Elem. 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 ArrTBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend Dbl2Elem. 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 Dbl2sArrCompanion[A <: Dbl2Elem, ArrA <: Dbl2sArr[A]] extends DblNsArrCompanion[A, ArrA]

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

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

trait Dbl2sArrFlatBuilder[B <: Dbl2Elem, ArrB <: Dbl2sArr[B]] extends DblNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTFlatBuilder type class instances for Dbl2Arr final classes. Instances for [[ArrTFlatBuilder] should go in the companion object the ArrT final class. 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 ArrTFlatBuilder type class instances for Dbl2Arr final classes. Instances for [[ArrTFlatBuilder] should go in the companion object the ArrT final class. 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.

abstract class Dbl2sArrPersist[A <: Dbl2Elem, M <: Dbl2sArr[A]](typeStr: String) extends DblNsArrPersist[A, M]

Persists and assists in building DblNsArrs.

Persists and assists in building DblNsArrs.

trait Dbl2sBuffer[A <: Dbl2Elem] extends DblNsBuffer[A]

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

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

trait Dbl3Elem extends DblNElem

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

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

trait Dbl3sArr[A <: Dbl3Elem] extends DblNsArr[A]

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

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

trait Dbl3sArrBuilder[B <: Dbl3Elem, ArrB <: Dbl3sArr[B]] extends DblNsArrBuilder[B, ArrB]

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

abstract class Dbl3sArrCompanion[A <: Dbl3Elem, ArrA <: Dbl3sArr[A]] extends DblNsArrCompanion[A, ArrA]

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

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

trait Dbl3sArrFlatBuilder[B <: Dbl3Elem, ArrB <: Dbl3sArr[B]] extends DblNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTFlatBuilder 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 ArrTFlatBuilder 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.

abstract class Dbl3sArrPersist[A <: Dbl3Elem, M <: Dbl3sArr[A]](typeStr: String) extends DblNsArrPersist[A, M]

Persists Dbl3sArrs.

Persists Dbl3sArrs.

trait Dbl3sBuffer[A <: Dbl3Elem] extends DblNsBuffer[A]

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

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

trait Dbl4Elem extends DblNElem

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

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

trait Dbl4sArr[A <: Dbl4Elem] extends DblNsArr[A]

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

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

trait Dbl4sArrBuilder[B <: Dbl4Elem, ArrB <: Dbl4sArr[B]] extends DblNsArrBuilder[B, ArrB]

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

abstract class Dbl4sArrCompanion[A <: Dbl4Elem, ArrA <: Dbl4sArr[A]]

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

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

trait Dbl4sArrFlatBuilder[B <: Dbl4Elem, ArrB <: Dbl4sArr[B]] extends DblNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Dbl4Arr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend Dbl4Elem. Instances for [[ArrTFlatBuilder] 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 ArrTBuilder type class, for classes / traits you control, should go in the companion object of type B, which will extend Dbl4Elem. Instances for [[ArrTFlatBuilder] 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 Dbl4sBuffer[A <: Dbl4Elem] extends DblNsBuffer[A]

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

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

trait Dbl5Elem extends DblNElem

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

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

trait Dbl5sArr[A <: Dbl5Elem] extends DblNsArr[A]

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

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

abstract class Dbl5sArrCompanion[A <: Dbl5Elem, ArrA <: Dbl5sArr[A]]

Helper class for companion objects of final Dbl5sArr classes.

Helper class for companion objects of final Dbl5sArr classes.

abstract class Dbl5sArrPersist[A <: Dbl5Elem, ArrA <: Dbl5sArr[A]](typeStr: String) extends DblNsArrPersist[A, ArrA]

Both Persists and Builds Dbl5sArr Collection classes.

Both Persists and Builds Dbl5sArr Collection classes.

trait Dbl6Elem extends DblNElem

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

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

trait Dbl6sArr[A <: Dbl6Elem] extends DblNsArr[A]

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

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

abstract class Dbl6sArrCompanion[A <: Dbl6Elem, ArrA <: Dbl6sArr[A]]

Helper class for companion objects of final Dbl6sArr classes.

Helper class for companion objects of final Dbl6sArr classes.

trait Dbl7Elem extends DblNElem

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

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

trait Dbl7sArr[A <: Dbl7Elem] extends DblNsArr[A]

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

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

abstract class Dbl7sArrCompanion[A <: Dbl7Elem, ArrA <: Dbl7sArr[A]]

Helper class for companion objects of final Dbl7sArr classes.

Helper class for companion objects of final Dbl7sArr classes.

trait DblNElem extends ValueNElem

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

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

trait DblNsArr[A <: DblNElem] extends ValueNsArr[A] with ArrayDblBased

Base trait for Array[Double] based collections of Products of Doubles.

Base trait for Array[Double] based collections of Products of Doubles.

trait DblNsArrBuilder[B <: DblNElem, ArrB <: DblNsArr[B]] extends ValueNsArrBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for DblNsArr final classes. Instances for the ArrTBuilder 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 DblNsArr final classes. Instances for the ArrTBuilder 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 DblNsArrCompanion[A <: DblNElem, ArrA <: DblNsArr[A]] extends ValueNArrCompanion[A, ArrA]

Helper trait for Companion objects of DblNsArr classes.

Helper trait for Companion objects of DblNsArr classes.

trait DblNsArrFlatBuilder[B <: DblNElem, ArrB <: DblNsArr[B]] extends ValueNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for DblNsArr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 DblNsArr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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.

abstract class DblNsArrPersist[A <: DblNElem, M <: DblNsArr[A]](typeStr: String) extends ValueNsArrPersist[A, M] with EqT[M]

Persists DblNsArrs.

Persists DblNsArrs.

trait DblNsBuffer[A <: DblNElem] extends ValueNsBuffer[A]

Specialised flat ArrayBuffer[Double] based collection class.

Specialised flat ArrayBuffer[Double] based collection class.

final class Dbls(val arrayUnsafe: Array[Double]) extends AnyVal with ArrImut[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 ArrayLike[Double]
object DblsBuild extends ArrTBuilder[Double, Dbls] with ArrTFlatBuilder[Dbls]
object DigitChar

Extractor function object for digit character.

Extractor function object for digit character.

object DigitCharNum

Extractor function object for digit character.

Extractor function object for digit character.

object DotMain extends App
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]
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
class EqerImplicit[T](thisT: T)(implicit ev: EqT[T])
final class Floats(val arrayUnsafe: Array[Float]) extends AnyVal with ArrImut[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 ArrayLike[Float]
object FloatsBuild extends ArrTBuilder[Float, Floats] with ArrTFlatBuilder[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
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.

trait Int1Elem extends IntNElem

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

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

trait Int1sArr[A <: Int1Elem] extends IntNsArr[A]

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

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

trait Int1sArrBuilder[A <: Int1Elem, ArrT <: Int1sArr[A]] extends IntNsArrBuilder[A, ArrT]

Trait for creating the ArrTBuilder type class instances for Int1Arr final classes. Instances for the ArrTBuilder 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 ArrTBuilder 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 Int1sArrFlatBuilder[A <: Int1Elem, ArrT <: Int1sArr[A]] extends IntNsArrFlatBuilder[A, ArrT]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int1Arr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 Int1sBuffer[A <: Int1Elem, M <: Int1sArr[A]] extends IntNsBuffer[A]

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

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

trait Int2Elem extends IntNElem

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

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

trait Int2sArr[A <: Int2Elem] extends IntNsArr[A]

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

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

trait Int2sArrBuilder[B <: Int2Elem, ArrB <: Int2sArr[B]] extends IntNsArrBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for Int2Arr final classes. Instances for the ArrTBuilder 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 ArrTBuilder 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.

abstract class Int2sArrCompanion[A <: Int2Elem, ArrA <: Int2sArr[A]] extends IntNArrCompanion[A, ArrA]

Helper class for companion objects of final Int2sArr classes.

Helper class for companion objects of final Int2sArr classes.

trait Int2sArrFlatBuilder[B <: Int2Elem, ArrB <: Int2sArr[B]] extends IntNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for Int2Arr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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.

abstract class Int2sArrPersist[A <: Int2Elem, M <: Int2sArr[A]](typeStr: String) extends IntNsArrPersist[A, M]

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

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

trait Int2sBuffer[A <: Int2Elem, M <: Int2sArr[A]] extends IntNsBuffer[A]

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

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

trait Int4Elem extends IntNElem

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

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

trait Int4sArr[A <: Int4Elem] extends IntNsArr[A]

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

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

abstract class Int4sArrCompanion[A <: Int4Elem, M <: Int4sArr[A]]

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

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

abstract class Int4sArrPersist[B <: Int4Elem, ArrB <: Int4sArr[B]](typeStr: String) extends IntNsArrPersist[B, ArrB]

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

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

trait Int4sBuffer[A <: Int4Elem, M <: Int4sArr[A]] extends IntNsBuffer[A]

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

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

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

Extension methods for Int.

Extension methods for Int.

trait IntNArrCompanion[A <: IntNElem, ArrA <: IntNsArr[A]] extends ValueNArrCompanion[A, ArrA]

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

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

trait IntNElem extends ValueNElem

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 IntNsArr[A <: IntNElem] extends ValueNsArr[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 IntNsArrBuilder[B <: IntNElem, ArrB <: IntNsArr[B]] extends ValueNsArrBuilder[B, ArrB]

Trait for creating the ArrTBuilder type class instances for IntNsArr final classes. Instances for the ArrTBuilder 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 IntNsArr final classes. Instances for the ArrTBuilder 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 IntNsArrFlatBuilder[B <: IntNElem, ArrB <: IntNsArr[B]] extends ValueNsArrFlatBuilder[B, ArrB]

Trait for creating the ArrTFlatBuilder type class instances for IntNsArr final classes. Instances for [[ArrTFlatBuilder] 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 IntNsArr final classes. Instances for [[ArrTFlatBuilder] 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.

abstract class IntNsArrPersist[A <: IntNElem, M <: IntNsArr[A]](typeStr: String) extends ValueNsArrPersist[A, M]

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

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

trait IntNsBuffer[A <: IntNElem] extends ValueNsBuffer[A]

Specialised flat ArrayBuffer[Int] based collection class.

Specialised flat ArrayBuffer[Int] based collection class.

final class Ints(val arrayUnsafe: Array[Int]) extends AnyVal with ArrImut[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 ArrTBuilder[Int, Ints] with ArrTFlatBuilder[Ints]
trait IsType[A <: AnyRef]
Companion
object
object IsType
Companion
class
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 <: ValueNElem](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.

object LetterLower

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.

object LetterUpper

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
trait Long1Elem extends LongNElem

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 Long1sArr[A <: Long1Elem] extends LongNsArr[A]

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

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

trait Long1sBuffer[A <: Long1Elem, ArrA <: Long1sArr[A]] extends LongNsBuffer[A]

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

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

final class LongExtensions(val thisLong: Long) extends AnyVal
trait LongNElem extends ValueNElem

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 LongNsArr[A <: LongNElem] extends ValueNsArr[A]

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

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

abstract class LongNsArrBuilders[B <: LongNElem, ArrB <: LongNsArr[B]](typeStr: String) extends ValueNsArrPersist[B, ArrB]

Trait for creating the ArrTBuilder and ArrTFlatBuilder type class instances for LongNsArr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 LongNsArr final classes. Instances for the ArrTBuilder type class, for classes / traits you control, should go in the companion object of B. Instances for [[ArrTFlatBuilder] 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 LongNsBuffer[A <: LongNElem] extends ValueNsBuffer[A]

Specialised flat ArrayBuffer[Double] based collection class.

Specialised flat ArrayBuffer[Double] based collection class.

final class Longs(val arrayUnsafe: Array[Long]) extends AnyVal with ArrImut[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 ArrayLike[Long]
object LongsBuild extends ArrTBuilder[Long, Longs] with ArrTFlatBuilder[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 buffer: ArrayBuffer[Double]) extends AnyVal with Dbl2sBuffer[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 Dbl2Elem

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 Dbl2sArr[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
object NotSubTypeOf
Companion
class
object OperatorChar

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 with ArrayLikeBase[OptRef[A]]

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]
trait PersistShowerProduct[R <: Show] extends PersistProduct[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]
trait ProductLongsCompanion[A <: LongNElem, ArrA <: LongNsArr[A]] extends ValueNArrCompanion[A, ArrA]

Helper trait for Companion objects of LongNsArr classes.

Helper trait for Companion objects of LongNsArr classes.

class RangeExtensions(range: Range)
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.

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 Int2Elem

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 Dbl2Elem

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 Int2Elem

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 Dbl3Elem

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 ArrImut[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 ArrayLike[String]
object StringsBuild extends ArrTBuilder[String, Strings] with ArrTFlatBuilder[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
trait TextSpanCompound extends TextSpan

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
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]
trait ValueNArrCompanion[A <: ValueNElem, ArrA <: ValueNsArr[A]]

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

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

trait ValueNElem extends SpecialT

A class that can be construct 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 construct 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.

trait ValueNsArr[A <: ValueNElem] extends ArrImut[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 ValueNsArrBuilder[B <: ValueNElem, ArrB <: ValueNsArr[B]] extends ArrTBuilder[B, ArrB]

Trait for creating the ArrTBuilder. Instances for the ArrTBuilder 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 ArrTBuilder 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 ValueNsArrFlatBuilder[B <: ValueNElem, ArrB <: ValueNsArr[B]] extends ArrTFlatBuilder[ArrB]

Trait for creating the ArrTFlatBuilder type class instances for ValueNsArr final classes. Instances for the [[ArrTFlatBuilder] 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 ValueNsArr final classes. Instances for the [[ArrTFlatBuilder] 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.

abstract class ValueNsArrPersist[A, M](val typeStr: String) extends PersistCompound[M]

Class to Persist specialised flat Array[Value] type based collections.

Class to Persist specialised flat Array[Value] type based collections.

trait ValueNsBuffer[A <: ValueNElem] extends ArrayLike[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.

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
trait WithColour 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 Yards(val yardsNum: Double) extends AnyVal with ImperialLength

Length in yards.

Length in yards.

object fileWrite

Function object for writing a file.

Function object for writing a file.

object homeWrite

Function object to get statements from a Java build resource.

Function object to get statements from a Java build resource.

Types

type AnyRefs = Arr[AnyRef]
type Buff[A] = ArrayBuffer[A]
type ERefs[A <: AnyRef] = EMon[Arr[A]]
type Not[T] = { type L = [U] =>> NotSubTypeOf[U, T]; }
type ParseExpr = Expr
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 shows source code position. Must include parenthesis debb(). Without the parenthesis the macro will not print.

Simplest Macro 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 <: ArrImut[A]](iFrom: Double, iTo: Double, iStep: Double)(f: Double => A)(implicit ev: ArrTBuilder[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 <: ArrImut[_]](iFrom: Int, iTo: Int, iStep: Int)(f: Int => AA)(implicit ev: ArrTFlatBuilder[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 <: ArrImut[A]](iFrom: Int, iTo: Int, iStep: Int)(f: Int => A)(implicit ev: ArrTBuilder[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 <: ArrImut[A]](iFrom: Int, iUntil: Int, iStep: Int)(f: Int => A)(implicit ev: ArrTBuilder[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 <: ArrImut[A]](nFrom: Int, nTo: Int, nStep: Int)(f: (Int, Int) => A)(implicit ev: ArrTBuilder[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 terminaton.

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

def ijToMap[A, AA <: ArrImut[A]](iFrom: Int, iTo: Int, iStep: Int)(jFrom: Int, jTo: Int, jStep: Int)(f: (Int, Int) => A)(implicit ev: ArrTBuilder[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 <: ArrImut[A]](iFrom: Int, iUntil: Int, iStep: Int)(jFrom: Int, jUntil: Int, jStep: Int)(f: (Int, Int) => A)(implicit ev: ArrTBuilder[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 <: ArrImut[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: ArrTBuilder[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
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
val Cos60: Double
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

2 * Pi.

2 * Pi.

val PiOn2: Double

Pi / 2

Pi / 2

val PiOn3: Double

Pi / 3

Pi / 3

val PiOn4: Double

Pi / 4

Pi / 4

val Sin30: Double
val Sin60: Double
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
val two32: Long

Implicits

Implicits

implicit def AnyTypeToExtensions[T](thisT: T): AnyTypeExtensions[T]
implicit def arrayToExtensions[A](arr: Array[A]): ArrayExtensions[A]
implicit def booleanToExtensions(b: Boolean): BooleanExtensions
implicit def charToExtensions(thisChar: Char): CharExtensions
implicit def doubleToExtensions(d: Double): DoubleImplicit
implicit def intToExtensions(i: Int): IntExtensions
implicit def iterableToExtensions[A](iter: Iterable[A]): IterableExtensions[A]
implicit def listToExtensions[A](thisList: List[A]): ListExtensions[A]
implicit def longToImplicit(i: Long): LongExtensions
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 def stringArrayToExtensions(strArray: Array[String]): StringIterableExtensions
implicit def stringIterableToExtensions(strIter: Iterable[String]): StringIterableExtensions
implicit def stringToExtensions(s: String): StringImplicit