SeqGen

trait SeqGen[+A] extends DataGen[A]

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

trait DataGen[A]
class Any
class AnyBuff[A]
trait ArrBase[A]
class Arr[A]
trait ArrArrayDbl[A]
trait ArrValueNs[A]
trait ArrDblNs[A]
trait ArrDbl1s[A]
class Angles
trait ArrDbl2s[A]
class MyDbl2s
class LatLongs
class Pt2s
class Vec2MArr
trait ArrDbl3s[A]
class Pt3s
trait ArrDbl4s[A]
class LineSegs
trait ArrDbl5s[A]
trait ArrDbl6s[A]
trait ArrDbl7s[A]
trait ArrIntNs[A]
trait ArrInt1s[A]
class Colours
class HSteps
trait ArrInt2s[A]
class Coods
class Roords
class HCens
class HCoords
class HSides
class HVerts
trait ArrInt4s[A]
class CoodLines
trait ArrLongNs[A]
trait ArrLong1s[A]
class Booleans
class Chars
class Dbls
class Floats
class Ints
class Longs
class Strings
trait BuffValueNs[A]
trait BuffDblNs[A]
trait BuffDbl2s[A]
class MinesBuff
class BuffPt2
class Vec2MBuff
trait BuffDbl3s[A]
class Pt3Buff
trait BuffDbl4s[A]
trait BuffIntNs[A]
trait BuffInt1s[A]
trait BuffInt2s[A]
class CoodBuff
class RoordBuff
class HCenBuff
class HVertBuff
trait BuffInt4s[A, M]
trait BuffLongNs[A]
trait BuffLong1s[A, ArrA]
class DblsBuff
class IntBuff
class LongsBuff

Type members

Types

type ThisT <: SeqGen[A]

The final type of this object.

The final type of this object.

Value members

Concrete methods

@inline
def apply(index: Int): A

apply method accesses the individual elements of the sequence by 0 based index.

apply method accesses the individual elements of the sequence by 0 based index.

def collect[B, BB <: ArrBase[B]](pf: PartialFunction[A, B])(implicit ev: ArrBuilder[B, BB]): BB

Collects values of B by applying partial function to only those elements of A, for which the PartialFunction is defined.

Collects values of B by applying partial function to only those elements of A, for which the PartialFunction is defined.

def collectList[B](pf: PartialFunction[A, B]): List[B]

Collects a List values of B by applying partial function to only those elements of A, for which the PartialFunction is defined.

Collects a List values of B by applying partial function to only those elements of A, for which the PartialFunction is defined.

def contains[A1 >: A](elem: A1): Boolean
@inline
def cycleGet(index: Int): A

Applies an index to this ArrayLike collection which cycles back to element 0, when it reaches the end of the collection. Accepts even negative integers as an index value without throwing an exception.

Applies an index to this ArrayLike collection which cycles back to element 0, when it reaches the end of the collection. Accepts even negative integers as an index value without throwing an exception.

def eMap[B, ArrB <: ArrBase[B]](f: A => EMon[B])(implicit ev: ArrBuilder[B, ArrB]): EMon[ArrB]
def eMapList[B](f: A => EMon[B]): EMon[List[B]]
@inline
def empty: Boolean

Is this sequence empty?

Is this sequence empty?

def existsCount(f: A => Boolean): Int

Counts the number of elements that fulfil the condition A => Boolean

Counts the number of elements that fulfil the condition A => Boolean

def fMax[B](defaultValue: B)(f: A => B)(implicit cmp: Ordering[B]): B

Gives the maximum value of type B, produced by applying the function from A to B on each element of this collection, or the default value if the collection is empty.

Gives the maximum value of type B, produced by applying the function from A to B on each element of this collection, or the default value if the collection is empty.

def fMin[B](defaultValue: B)(f: A => B)(implicit cmp: Ordering[B]): B

Gives the minimum value of type B, produced by applying the function from A to B on each element of this collection, or the default value if the collection is empty.

Gives the minimum value of type B, produced by applying the function from A to B on each element of this collection, or the default value if the collection is empty.

def filter[ArrA <: ArrBase[A]](f: A => Boolean)(implicit ev: ArrBuilder[A, ArrA]): ArrA
def filterNot[ArrA <: ArrBase[A]](f: A => Boolean)(implicit ev: ArrBuilder[A, ArrA]): ArrA
def filterToList(f: A => Boolean): List[A]
def flatMap[ArrB <: ArrBase[_]](f: A => ArrB)(implicit ev: ArrFlatBuilder[ArrB]): ArrB

Specialised flatMap to an immutable Arr.

Specialised flatMap to an immutable Arr.

def foldHeadTail[B](initial: B)(fHead: (B, A) => B)(fTail: (B, A) => B): B
def foldLeft[B](initial: B)(f: (B, A) => B): B
def forAll(p: A => Boolean): Boolean
def foreach[U](f: A => U): Unit

Performs a side effecting function on each element of this sequence in order.

Performs a side effecting function on each element of this sequence in order.

def foreachInit[U](f: A => U): Unit
def foreachReverse[U](f: A => U): Unit

Consider changing this name, as might not be appropriate to all sub classes.

Consider changing this name, as might not be appropriate to all sub classes.

@inline
def head: A

The first element of this sequence.

The first element of this sequence.

def headFold[B](noHead: => B)(ifHead: A => B): B

Folds over the non existence / existence of a head element. The first parameter is a value for an empty sequence, the second parameter passed as a separate parameter list is a function on the head element.

Folds over the non existence / existence of a head element. The first parameter is a value for an empty sequence, the second parameter passed as a separate parameter list is a function on the head element.

def iFlatMap[ArrB <: ArrBase[_]](f: (A, Int) => ArrB)(implicit build: ArrFlatBuilder[ArrB]): ArrB

Specialised flatMap with index to an immutable Arr.

Specialised flatMap with index to an immutable Arr.

def iFlatMap[ArrB <: ArrBase[_]](iInit: Int)(f: (A, Int) => ArrB)(implicit build: ArrFlatBuilder[ArrB]): ArrB

Specialised flatMap with index to an immutable Arr.

Specialised flatMap with index to an immutable Arr.

def iForAll(p: (A, Int) => Boolean): Boolean
def iForeach[U](f: (A, Int) => U): Unit

Performs a side effecting function on each element of this sequence with an index starting at 0.

Performs a side effecting function on each element of this sequence with an index starting at 0.

def iForeach[U](startIndex: Int)(f: (A, Int) => U): Unit

Performs a side effecting function on each element of this sequence with an index starting at the given integer parameter.

Performs a side effecting function on each element of this sequence with an index starting at the given integer parameter.

def iForeachReverse[U](f: (A, Int) => U): Unit
def iMap[B, ArrB <: ArrBase[B]](f: (A, Int) => B)(implicit ev: ArrBuilder[B, ArrB]): ArrB

Specialised map with index to an immutable ArrBase of B. This method should be overridden in sub classes.

Specialised map with index to an immutable ArrBase of B. This method should be overridden in sub classes.

def ifHead[U](f: A => U): Unit

if this SeqGen is nonEmpty performs the side effecting function on the head. If empty procedure is applied.

if this SeqGen is nonEmpty performs the side effecting function on the head. If empty procedure is applied.

def indexOf(elem: A): Int
def indexWhere(f: A => Boolean): Int

Return the index of the first element where predicate is true, or -1 if predicate not true forall.

Return the index of the first element where predicate is true, or -1 if predicate not true forall.

def iterFlatMap[B, ArrB <: ArrBase[B]](f: A => Iterable[B])(implicit ev: ArrBuilder[B, ArrB]): ArrB

FlatMaps over a function from A to any Iterable.

FlatMaps over a function from A to any Iterable.

@inline
def last: A

The last element of this sequence.

The last element of this sequence.

def lastFold[B](noLast: => B)(ifLast: A => B): B

Folds over the non existence / existence of a last element. The first parameter is a value for an empty sequence, the second parameter passed as a separate parameter list is a function on the last element.

Folds over the non existence / existence of a last element. The first parameter is a value for an empty sequence, the second parameter passed as a separate parameter list is a function on the last element.

def map[B, ArrB <: ArrBase[B]](f: A => B)(implicit ev: ArrBuilder[B, ArrB]): ArrB

Specialised map to an immutable ArrBase of B.

Specialised map to an immutable ArrBase of B.

def map2To1[B, ArrB <: ArrBase[B]](f: (A, A) => B)(implicit ev: ArrBuilder[B, ArrB]): ArrB

map 2 elements of A to 1 element of B. Ignores the last element on a collection of odd numbered length.

map 2 elements of A to 1 element of B. Ignores the last element on a collection of odd numbered length.

def mapCollectGoods[B, BB <: ArrBase[B]](f: A => EMon[B])(implicit ev: ArrBuilder[B, BB]): BB

maps from A to EMon[B], collects the good values.

maps from A to EMon[B], collects the good values.

def mapList[B <: AnyRef](f: A => B): List[B]

maps ValueProduct collection to List

maps ValueProduct collection to List

def mapWithAcc[B, ArrB <: ArrBase[B], C](initC: C)(f: (A, C) => (B, C))(implicit ev: ArrBuilder[B, ArrB]): ArrB
def max[B >: A](implicit ord: Ordering[B]): A
def min[B >: A](implicit ord: Ordering[B]): A
def mkString(seperator: String): String

Not sure about this method.

Not sure about this method.

@inline
def nonEmpty: Boolean

Is this sequence non empty?

Is this sequence non empty?

@inline

Method for keeping the typer happy when returning this as an instance of ThisT.

Method for keeping the typer happy when returning this as an instance of ThisT.

def sum(implicit ev: Sumable[A]): A
def sumBy(f: A => Int): Int
def tailForeach[U](f: A => U): Unit

Foreachs over the tail of this sequence.

Foreachs over the tail of this sequence.

def tailfold[B](initial: B)(f: (B, A) => B): B

foldLeft over the tail of this sequence.

foldLeft over the tail of this sequence.

def toList: List[A]
def toStrsCommaFold(fToStr: A => String): String
def toStrsCommaNoSpaceFold(fToStr: A => String): String
def toStrsCommaParenth(fToStr: A => String): String
def toStrsFold(seperator: String, f: A => String): String
def toStrsSemiFold(fToStr: A => String): String
def toStrsSemiParenth(fToStr: A => String): String
def zipMap[B, C, ArrC <: ArrBase[C]](operator: SeqGen[B])(f: (A, B) => C)(implicit ev: ArrBuilder[C, ArrC]): ArrC

Takes a second collection as a parameter and zips the elements of this collection and the operand collection and applies the specialised map function from type A and type B to type C.

Takes a second collection as a parameter and zips the elements of this collection and the operand collection and applies the specialised map function from type A and type B to type C.

def zipMap2[B, C, D, ArrD <: ArrBase[D]](operator1: SeqGen[B], operator2: SeqGen[C])(f: (A, B, C) => D)(implicit ev: ArrBuilder[D, ArrD]): ArrD

Takes a second collection and third collections as parameters and zips the elements of this collection and the operand collections and applies the specialised map function from type A and type B and type C to type D.

Takes a second collection and third collections as parameters and zips the elements of this collection and the operand collections and applies the specialised map function from type A and type B and type C to type D.

Inherited methods

def dataForeach[U](f: A => U): Unit

Performs a side effecting function on each element of this sequence in order.

Performs a side effecting function on each element of this sequence in order.

Inherited from
DataGen
def dataIForeach[U](f: (A, Int) => U): Unit

Performs a side effecting function on each element of this sequence in order.

Performs a side effecting function on each element of this sequence in order.

Inherited from
DataGen
def dataLast: A
Inherited from
DataGen
def dataMap[B, ArrB <: ArrBase[B]](f: A => B)(implicit ev: ArrBuilder[B, ArrB]): ArrB

Specialised map to an immutable ArrBase of B.

Specialised map to an immutable ArrBase of B.

Inherited from
DataGen
def dataTailForeach[U](f: A => U): Unit

Foreachs over the tail of the data sequence.

Foreachs over the tail of the data sequence.

Inherited from
DataGen
def dataTailfold[B](initial: B)(f: (B, A) => B): B

foldLeft over the tail of the data sequence.

foldLeft over the tail of the data sequence.

Inherited from
DataGen
def elemsLenStr: String

Just a handy short cut to give the length of this collection as a string.

Just a handy short cut to give the length of this collection as a string.

Inherited from
DataGen
def elemsNum: Int

The number of elements in the collection. These collections use underlying mutable Arrays and ArrayBuffers. The length of the underlying Array will be this number or a multiple of this number.

The number of elements in the collection. These collections use underlying mutable Arrays and ArrayBuffers. The length of the underlying Array will be this number or a multiple of this number.

Inherited from
DataGen
final
def elemsStr: String

The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.

The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.

Inherited from
DataGen
def fElemStr: A => String
Inherited from
DataGen
@inline
def indexData(index: Int): A

apply method accesses the individual elements of the sequence by 0 based index.

apply method accesses the individual elements of the sequence by 0 based index.

Inherited from
DataGen
final override
def toString: String
Definition Classes
DataGen -> Any
Inherited from
DataGen
def typeStr: String

String specifying the type of this object.

String specifying the type of this object.

Inherited from
DataGen
def unsafeSetElem(i: Int, value: A): Unit

Sets / mutates an element in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.

Sets / mutates an element in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.

Inherited from
DataGen
def unsafeSetElems(index: Int, elems: A*): Unit

Sets / mutates elements in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.

Sets / mutates elements in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.

Inherited from
DataGen