PolygonLikeBuilderMap

ostrat.geom.PolygonLikeBuilderMap
trait PolygonLikeBuilderMap[B, +BB <: PolygonBase[B]] extends BuilderMapSeqLike[B, BB]

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.

Attributes

Graph
Supertypes
trait BuilderMapSeqLike[B, BB]
trait BuilderSeqLike[BB]
trait BuilderMap[B, BB]
trait BuilderBoth[BB]
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Type members

Inherited and Abstract types

type BuffT <: Buff[B]

BuffT can be inbuilt Jvm type like ArrayBuffer[Int] for B = Int and BB = IntArr, or it can be a compile time wrapped Arraybuffer inheriting from Buff.

BuffT can be inbuilt Jvm type like ArrayBuffer[Int] for B = Int and BB = IntArr, or it can be a compile time wrapped Arraybuffer inheriting from Buff.

Attributes

Inherited from:
BuilderMapSeqLike

Value members

Abstract methods

override def uninitialised(length: Int): BB & SeqLikeBacked[B]

The uninitialised polygon must be backed by an Array to be constructed by this builder, even if all the final classes of the type do not inherit from SeqLikeBacked. For example this builder can not construct a specialised quadrilateral, rectangle or triangle class.

The uninitialised polygon must be backed by an Array to be constructed by this builder, even if all the final classes of the type do not inherit from SeqLikeBacked. For example this builder can not construct a specialised quadrilateral, rectangle or triangle class.

Attributes

Definition Classes

Inherited methods

def buffGrowIter(buff: BuffT, newElems: Iterable[B]): Unit

A mutable operation that extends the Buff with the elements of the Iterable operand.

A mutable operation that extends the Buff with the elements of the Iterable operand.

Attributes

Inherited from:
BuilderMapSeqLike
override def empty: BB

Creates a new empty SeqLike of type BB.

Creates a new empty SeqLike of type BB.

Attributes

Definition Classes
Inherited from:
BuilderMapSeqLike

Inherited and Abstract methods

def buffGrow(buff: BuffT, newElem: B): Unit

A mutable operation that extends the ArrayBuffer by a single element of type B.

A mutable operation that extends the ArrayBuffer by a single element of type B.

Attributes

Inherited from:
BuilderMap
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

Inherited from:
BuilderBoth
def indexSet(seqLike: BB, index: Int, newElem: B): Unit

Sets the value in a SeqLike of type BB. This is usually used in conjunction with uninitialised method.

Sets the value in a SeqLike of type BB. This is usually used in conjunction with uninitialised method.

Attributes

Inherited from:
BuilderMapSeqLike
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

Inherited from:
BuilderBoth