strawman.collections

CollectionStrawMan1

Related Doc: package collections

object CollectionStrawMan1

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CollectionStrawMan1
  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 FromIterator[ArrayBuffer]

    Concrete collection type: ArrayBuffer

  2. class ArrayBufferIterator[A] extends RandomAccessIterator[A]

  3. trait CanIterate[+A] extends AnyRef

    Replaces TraversableOnce

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

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

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

  6. trait Iterable[+A] extends CanIterate[A] with FromIterator[Iterable]

    Base trait for generic collections

  7. trait IterableFactory[+C[X] <: Iterable[X]] extends FromIterator[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. implicit final class IterableOps[A] extends AnyVal with Ops[A]

    Implementation of Ops for all generic collections

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

    Implementation of PolyTransforms for all generic collections

  11. trait Iterator[+A] extends CanIterate[A]

    A core Iterator class

  12. sealed trait List[+A] extends Seq[A] with FromIterator[List]

    Concrete collection type: List

  13. class ListIterator[+A] extends Iterator[A]

  14. trait MonoTransforms[A, Repr] extends Any

    Transforms returning same collection type

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

    Transforms that only apply to Seq

  16. trait Ops[A] extends Any

    Operations returning types unrelated to current collection

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

    Transforms returning same collection type constructor

  18. trait RandomAccessIterator[+A] extends Iterator[A]

  19. trait Seq[+A] extends Iterable[A] with FromIterator[Seq]

    Base trait for sequence collections

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

    Implementation of MonoTransformsForSeqs for all generic collections

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

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

    Concrete collection type: String

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

  24. class View[+A] extends CanIterate[A]

    Concrete collection type: View

  25. implicit final class ViewMonoTransforms[A] extends AnyVal with MonoTransforms[A, View[A]]

  26. implicit final class ViewOps[A] extends AnyVal with Ops[A]

  27. implicit final class ViewPolyTransforms[A] extends AnyVal with PolyTransforms[A, View]

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 Nil extends List[Nothing] with Product with Serializable

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    AnyRef
  20. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped