BuilderBoth

ostrat.BuilderBoth
trait BuilderBoth[BB]

Common Builder trait for constructing SeqLikeImuts of type BB by both the map and flatMap and methods. The flatMap method f: A => BB doesn't indicate the type of the elements of the SeqLikeImut. Hence, implict instances for flatMap builders need to go in the companion object of the SeqLikeImut class. However, the map metjhod, f: A => B does indicate the element type, hence the implicit type class instance for the map builders need to go in the companion object of the type B class. So for example nn element usch as a Pt2, a 2-dimensional point will have its own specialist Arr class and will need an implicit BuilderMap instance for the Arr in the Pt2's companion object. While an implicit BuilderFlat instance for the Arr will be required in the companion object of Pt22's specialisat Arr class. Further builder instances will be required to map and flatMpa to polygons and line paths.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BuilderMap[B, BB]
trait BuilderMapSeqLike[B, BB]
trait LinePathBuilder[B, BB]
trait LinePathBuilderValueN[B, BB]
trait LinePathIntNMapBuilder[B, BB]
trait LinePathInt2MapBuilder[B, BB]
trait LinePathMapBuilderDblN[B, BB]
trait LinePathDbl2Builder[B, BB]
trait LinePathDbl3MapBuilder[B, BB]
trait PolygonLikeBuilderMap[B, BB]
trait PolygonDblNBuilderMap[B, BB]
trait PolygonDbl2BuilderMap[B, BB]
trait PolygonDbl3BuilderMap[B, BB]
trait PolygonIntNBuilderMap[B, BB]
trait PolygonInt2BuilderMap[B, BB]
trait PolygonInt3BuilderMap[B, BB]
trait BuilderArrMap[B, ArrB]
trait ArrayIntArrBuilder[A, ArrT]
trait BuilderMapArrArrayDbl[A, ArrT]
trait BuilderMapArrPair[B1, ArrB1, B2, B, ArrB]
trait LineSegLikePairArrBuilder[B1V, B1, ArrB1, B2, B, ArrB]
trait BuilderArrMapPairSeqLike[B1E, B1, ArrB1, B2, B, ArrB]
trait PolygonLikePairArrBuilder[B1V, B1, ArrB1, B2, B, ArrB]
trait PolygonIntsLikePairArrBuilder[B1V, B1, ArrB1, A2, B, ArrB]
trait PolygonLikeDblNPairArrBuilder[B1V, B1, ArrB1, A2, B, ArrB]
trait BuilderMapArrPairSeqLikeDblN[B1E, B1, ArrB1, B2, B, ArrB]
trait BuilderMapArrPairSeqLikeIntN[B1E, B1, ArrB1, B2, B, ArrB]
class PolygonHCPairBuild[A2]
trait BuilderArrPairDblNMap[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairDbl2Map[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairDbl3[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairDbl4Map[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairIntNMap[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairIn1Map[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairInt2Map[B1, ArrB1, B2, B, ArrB]
trait BuilderArrPairInt3Map[B1, ArrB1, B2, B, ArrB]
trait BuilderMapArrPairInt4[B1, ArrB1, B2, B, ArrB]
class RPairArrMapBuilder[B1, B2]
trait BuilderMapArrValueN[B, ArrB]
trait BuilderArrDblNMap[B, ArrB]
trait BuilderArrDbl4Map[B, ArrB]
trait BuilderMapArrDbl2[B, ArrB]
trait BuilderMapArrDbl3[B, ArrB]
trait BuilderMapArrDbl5[B, ArrB]
trait BuilderMapArrDbl6[B, ArrB]
trait BuilderArrIntNMap[B, ArrB]
trait BuilderMapArrInt1[A, ArrT]
trait BuilderMapArrInt2[B, ArrB]
trait BuilderMapArrInt3[B, ArrB]
trait BuilderMapArrInt4[B, ArrB]
trait BuilderMapArrInt5[B, ArrB]
trait BuilderMapArrInt6[B, ArrB]
object DblArrBuilder
object IntArrBuilder
class RArrAllBuilder[B]
trait BuilderMapSeqLikeDblN[B, BB]
trait BuilderMapSeqLikeDbl2[B, BB]
trait BuilderMapSeqLikeDbl3[B, BB]
trait BuilderSeqLikeIntNMap[B, BB]
trait BuilderMapSeqLikeInt2[B, BB]
trait BuilderMapSeqLikeInt3[B, BB]
trait BuilderMapSeqLikeInt4[B, BB]
trait BuilderMapSeqLikeInt5[B, BB]
trait BuilderMapSeqLikeInt6[B, BB]
trait BuilderMapStd[A, R]
class ArrayBuilder[A]
class ListBuilder[A]
class VectorBuilder[A]
trait BuilderSeqLike[BB]
trait BuilderArrPair[B1, ArrB1, B2, ArrB]
trait BuilderArrPairDblN[B1, ArrB1, B2, ArrB]
trait BuilderArrPairDbl4[B1, ArrB1, B2, ArrB]
trait BuilderFlatArrPairDbl4[B1, ArrB1, B2, ArrB]
trait BuilderArrPairDblNFlat[B1, ArrB1, B2, ArrB]
trait BuilderArrPairIntN[B1, ArrB1, B2, ArrB]
trait BuilderArrPairInt4[B1, ArrB1, B2, ArrB]
trait BuilderArrPairInt4Flat[B1, ArrB1, B2, ArrB]
trait BuilderArrPairIntNFlat[B1, ArrB1, B2, ArrB]
trait BuilderFlatArrPair[B1, ArrB1, B2, ArrB]
trait BuilderFlatSeqLike[BB]
trait PolygonLikeFlatBuilder[VT, BB]
trait PolygonValueNFlatBuilder[VT, BB]
trait PolygonIntNFlatBuilder[VT, BB]
trait PolygonInt3FlatBuilder[VT, BB]
trait BuilderArrFlat[ArrB]
trait BuilderFlatArrValueN[ArrB]
trait BuilderArrIntNFlat[ArrB]
trait BuilderArrInt6Flat[ArrB]
trait BuilderFlatArrIn1[ArrB]
trait BuilderFlatArrInt2[ArrB]
trait BuilderFlatArrInt3[ArrB]
trait BuilderFlatArrInt4[ArrB]
trait BuilderFlatArrInt5[ArrB]
trait BuilderFlatArrDblN[ArrB]
trait BuilderFlatArrDbl2[ArrB]
trait BuilderFlatArrDbl3[ArrB]
trait BuilderFlatArrDbl4[ArrB]
trait BuilderFlatArrDbl5[ArrB]
trait BuilderFlatArrDbl6[ArrB]
trait BuilderSeqLikeDblN[BB]
trait BuilderArrDblN[ArrB]
trait BuilderArrDbl4[ArrB]
trait BuilderSeqLikeDbl2[BB]
trait BuilderSeqLikeDbl3[BB]
trait BuilderSeqLikeDbl5[BB]
trait BuilderSeqLikeDbl6[BB]
trait BuilderSeqLikeIntN[BB]
trait BuilderArrInt1[ArrB]
trait BuilderSeqLikeInt2[BB]
trait BuilderSeqLikeInt3[BB]
trait BuilderSeqLikeInt4[BB]
trait BuilderSeqLikeInt5[BB]
trait BuilderSeqLikeInt6[BB]
Show all

Members list

Type members

Types

type BuffT

BuffT can be a specialist Buff class, or it can be an ArrayBuffer.

BuffT can be a specialist Buff class, or it can be an ArrayBuffer.

Attributes

Value members

Abstract methods

def buffToSeqLike(buff: BuffT): BB

converts a buffer of the given type to the target compound class.

converts a buffer of the given type to the target compound class.

Attributes

def newBuff(length: Int): BuffT

Creates a new empty Buff with a default capacity of 4 elements.

Creates a new empty Buff with a default capacity of 4 elements.

Attributes