strawman.collections

CollectionStrawMan4

Related Doc: package collections

object CollectionStrawMan4

A strawman architecture for new collections. It contains some example collection classes and methods with the intent to expose some key issues. It would be good to compare this to other implementations of the same functionality, to get an idea of the strengths and weaknesses of different collection architectures.

For a test file, see tests/run/CollectionTests.scala.

Strawman4 is like strawman1, but built over views instead of by-name iterators

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CollectionStrawMan4
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class ArrayBuffer[A] extends Seq[A] with FromIterable[ArrayBuffer] with Builder[A, ArrayBuffer[A]]

    Concrete collection type: ArrayBuffer

  2. class ArrayBufferView[A] extends RandomAccessView[A]

  3. trait Builder[-A, +To] extends AnyRef

    Base trait for collection builders

  4. case class Cons[+A](x: A, next: List[A]) extends List[A] with Product with Serializable

  5. trait FromIterable[+C[X] <: Iterable[X]] extends AnyRef

    Base trait for instances that can construct a collection from an iterable

  6. trait Iterable[+A] extends IterableOnce[A] with FromIterable[Iterable]

    Base trait for generic collections

  7. trait IterableFactory[+C[X] <: Iterable[X]] extends FromIterable[C]

    Base trait for companion objects of collections

  8. implicit final class IterableMonoTransforms[A, C[X] <: Iterable[X]] extends AnyVal with MonoTransforms[A, C[A]]

    Implementation of MonoTransforms for all generic collections

  9. trait IterableOnce[+A] extends AnyRef

    Iterator can be used only once

  10. implicit final class IterableOps[A] extends AnyVal with Ops[A]

    Implementation of Ops for all generic collections

  11. implicit final class IterablePolyTransforms[A, C[X] <: Iterable[X]] extends AnyVal with PolyTransforms[A, C]

    Implementation of PolyTransforms for all generic collections

  12. trait Iterator[+A] extends IterableOnce[A]

    A core Iterator class

  13. sealed trait List[+A] extends Seq[A] with FromIterable[List]

    Concrete collection type: List

  14. class ListBuffer[A] extends Seq[A] with FromIterable[ListBuffer] with Builder[A, List[A]]

    Concrete collection type: ListBuffer

  15. trait MonoTransforms[A, Repr] extends Any

    Transforms returning same collection type

  16. trait MonoTransformsOfSeqs[A, Repr] extends MonoTransforms[A, Repr]

    Transforms that only apply to Seq

  17. trait Ops[A] extends Any

    Operations returning types unrelated to current collection

  18. trait PolyTransforms[A, C[X]] extends Any

  19. trait RandomAccessView[+A] extends View[A]

    Iterator defined in terms of indexing a range

  20. trait Seq[+A] extends Iterable[A] with FromIterable[Seq]

    Base trait for sequence collections

  21. implicit final class SeqMonoTransforms[A, C[X] <: Seq[X]] extends AnyVal with MonoTransformsOfSeqs[A, C[A]]

    Implementation of MonoTransformsForSeqs for all generic collections

  22. implicit final class StringMonoTransforms extends AnyVal with MonoTransformsOfSeqs[Char, String]

  23. implicit final class StringOps extends AnyVal with Ops[Char]

    Concrete collection type: String

  24. implicit final class StringPolyTransforms extends AnyVal with PolyTransforms[Char, Seq]

  25. case class StringView(s: String) extends RandomAccessView[Char] with Product with Serializable

  26. trait View[+A] extends Iterable[A] with FromIterable[View]

    A lazy iterable

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. object ArrayBuffer extends IterableFactory[ArrayBuffer]

  5. object Iterator

  6. object List extends IterableFactory[List]

  7. object ListBuffer extends IterableFactory[ListBuffer]

  8. object Nil extends List[Nothing] with Product with Serializable

  9. object View

  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  22. def toString(): String

    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped