p

strawman

collection

package collection

Linear Supertypes
LowPriority, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. collection
  2. LowPriority
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AnyConstr[X] = Any

    Needed to circumvent a difficulty between dotty and scalac concerning the right top type for a type parameter of kind * -> *.

    Needed to circumvent a difficulty between dotty and scalac concerning the right top type for a type parameter of kind * -> *. In Scalac, we can provide Any, as Any is kind-polymorphic. In dotty this is not allowed. In dotty, we can provide [X] => Any. But Scalac does not know lambda syntax.

  2. trait ArrayLike [+A] extends Any

    A trait representing indexable collections with finite length

  3. final class ArrayOps [A] extends AnyVal with IterableOnce[A] with IndexedSeqOps[A, collection.immutable.IndexedSeq, Array[A]] with StrictOptimizedIterableOps[A, Seq, Array[A]] with ArrayLike[A]
  4. case class ArrayView [A](xs: Array[A]) extends IndexedView[A] with Product with Serializable
  5. trait BitSet extends SortedSet[Int] with BitSetOps[BitSet]

    Base type of bitsets

  6. trait BitSetOps [+C <: BitSet with BitSetOps[C]] extends SortedSetOps[Int, SortedSet, C]

    Base implementation type of bitsets

  7. trait BuildFrom [-From, -A, +C] extends Any

    Builds a collection of type C from elements of type A when a source collection of type From is available.

    Builds a collection of type C from elements of type A when a source collection of type From is available. Implicit instances of BuildFrom are available for all collection types.

    From

    Type of source collection

    A

    Type of elements (e.g. Int, Boolean, etc.)

    C

    Type of collection (e.g. List[Int], TreeMap[Int, String], etc.)

  8. trait CanBuild [-A, +C] extends BuildFrom[Any, A, C]

    Builds a collection of type C from elements of type A

    Builds a collection of type C from elements of type A

    A

    Type of elements (e.g. Int, Boolean, etc.)

    C

    Type of collection (e.g. List[Int], TreeMap[Int, String], etc.)

  9. trait IndexedSeq [+A] extends Seq[A] with IndexedSeqOps[A, IndexedSeq, IndexedSeq[A]]

    Base trait for indexed sequences that have efficient apply and length

  10. trait IndexedSeqOps [+A, +CC[X] <: IndexedSeq[X], +C] extends SeqOps[A, CC, C]

    Base trait for indexed Seq operations

  11. trait IndexedView [+A] extends View[A] with ArrayLike[A] with SeqOps[A, View, IndexedView[A]]

    View defined in terms of indexing a range

  12. trait Iterable [+A] extends IterableOnce[A] with IterableOps[A, Iterable, Iterable[A]]

    Base trait for generic collections

  13. trait IterableFactory [+CC[_]] extends AnyRef

    Base trait for companion objects of unconstrained collection types

  14. trait IterableOnce [+A] extends Any
  15. trait IterableOps [+A, +CC[X], +C] extends Any

    Base trait for Iterable operations

    Base trait for Iterable operations

    VarianceNote

    We require that for all child classes of Iterable the variance of the child class and the variance of the C parameter passed to IterableOps are the same. We cannot express this since we lack variance polymorphism. That's why we have to resort at some places to write C[A @uncheckedVariance].

    CC

    type constructor of the collection (e.g. List, Set). Operations returning a collection with a different type of element B (e.g. map) return a CC[B].

    C

    type of the collection (e.g. List[Int], String, BitSet). Operations returning a collection with the same type of element (e.g. drop, filter) return a C.

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

    A core Iterator class

  17. trait LinearSeq [+A] extends Seq[A] with LinearSeqOps[A, LinearSeq, LinearSeq[A]]

    Base trait for linearly accessed sequences that have efficient head and tail operations.

    Base trait for linearly accessed sequences that have efficient head and tail operations. Known subclasses: List, LazyList

  18. trait LinearSeqOps [+A, +CC[X] <: LinearSeq[X], +C <: LinearSeq[A]] extends SeqOps[A, CC, C]

    Base trait for linear Seq operations

  19. trait Map [K, +V] extends Iterable[(K, V)] with MapOps[K, V, Map, Map[K, V]]

    Base Map type

  20. trait MapFactory [+CC[X, Y]] extends AnyRef

    Factory methods for collections of kind * −> * -> *

  21. trait MapOps [K, +V, +CC[X, Y] <: MapOps[X, Y, CC, _], +C <: MapOps[K, V, CC, C]] extends IterableOps[(K, V), Iterable, C] with PartialFunction[K, V] with Equals

    Base Map implementation type

  22. trait Seq [+A] extends Iterable[A] with SeqOps[A, Seq, Seq[A]]

    Base trait for sequence collections

  23. trait SeqFactory [+CC[_]] extends IterableFactory[CC]

    Introduces factory methods fill and tabulate.

    Introduces factory methods fill and tabulate.

    CC

    Collection type constructor (e.g. List)

  24. trait SeqOps [+A, +CC[X], +C] extends IterableOps[A, CC, C] with ArrayLike[A] with Equals

    Base trait for Seq operations

  25. trait Set [A] extends Iterable[A] with SetOps[A, Set, Set[A]]

    Base trait for set collections.

  26. trait SetOps [A, +CC[_], +C <: SetOps[A, CC, C]] extends IterableOps[A, CC, C] with (A) ⇒ Boolean with Equals

    Base trait for set operations

  27. trait SortedIterableFactory [+CC[_]] extends AnyRef

    Base trait for companion objects of collections that require an implicit evidence

  28. trait SortedMap [K, +V] extends Map[K, V] with SortedMapOps[K, V, SortedMap, SortedMap[K, V]]

    Base type of sorted sets

  29. trait SortedMapFactory [+CC[X, Y]] extends AnyRef

    Factory methods for collections of kind * −> * -> * which require an implicit evidence value for the key type

  30. trait SortedMapOps [K, +V, +CC[X, Y] <: Map[X, Y] with SortedMapOps[X, Y, CC, _], +C <: SortedMapOps[K, V, CC, C]] extends MapOps[K, V, Map, C] with SortedOps[K, C]
  31. trait SortedOps [A, +C] extends AnyRef

    Base trait for sorted collections

  32. trait SortedSet [A] extends Set[A] with SortedSetOps[A, SortedSet, SortedSet[A]]

    Base type of sorted sets

  33. trait SortedSetOps [A, +CC[X] <: SortedSet[X], +C <: SortedSetOps[A, CC, C]] extends SetOps[A, Set, C] with SortedOps[A, C]
  34. trait SpecificIterableFactory [-A, +C] extends CanBuild[A, C]
  35. trait StrictOptimizedIterableOps [+A, +CC[_], +C] extends IterableOps[A, CC, C]

    Trait that overrides operations to take advantage of strict builders.

    Trait that overrides operations to take advantage of strict builders.

    A

    Elements type

    C

    Collection type

  36. trait StrictOptimizedSeqOps [+A, +CC[_], +C] extends SeqOps[A, CC, C] with StrictOptimizedIterableOps[A, CC, C]

    Trait that overrides operations on sequences in order to take advantage of strict builders.

  37. final class StringOps extends AnyVal with IterableOnce[Char] with IndexedSeqOps[Char, collection.immutable.IndexedSeq, String] with StrictOptimizedIterableOps[Char, collection.immutable.IndexedSeq, String] with ArrayLike[Char]
  38. case class StringView (s: String) extends IndexedView[Char] with Product with Serializable
  39. trait View [+A] extends Iterable[A] with IterableOps[A, View, View[A]]

    Concrete collection type: View

  40. abstract class WithFilter [+A, +CC[_]] extends AnyRef

    A template trait that contains just the map, flatMap, foreach and withFilter methods of trait Iterable.

    A template trait that contains just the map, flatMap, foreach and withFilter methods of trait Iterable.

    A

    Element type (e.g. Int)

    CC

    Collection type constructor (e.g. List)

  41. implicit final class toNewIterator [A] extends AnyVal
  42. implicit final class toNewSeq [A] extends AnyVal
  43. implicit final class toOldIterator [A] extends AnyVal
  44. implicit final class toOldSeq [A] extends AnyVal

Value Members

  1. implicit def arrayToArrayOps[A](as: Array[A]): ArrayOps[A]

    Decorator to add collection operations to arrays.

  2. implicit def arrayToView[T](xs: Array[T]): ArrayView[T]

    Convert array to iterable via view.

    Convert array to iterable via view. Lower priority than ArrayOps

    Definition Classes
    LowPriority
  3. implicit def optionToIterableOnce[A](maybeA: Option[A]): IterableOnce[A]
  4. implicit def stringToStringOps(s: String): StringOps

    Decorator to add collection operations to strings.

  5. implicit def stringToView(s: String): StringView

    Convert string to iterable via view.

    Convert string to iterable via view. Lower priority than StringOps

    Definition Classes
    LowPriority
  6. object +:

    An extractor used to head/tail deconstruct sequences.

  7. object :+

    An extractor used to init/last deconstruct sequences.

  8. object BitSetOps
  9. object Hashing
    Attributes
    protected
  10. object IndexedSeq extends Delegate[IndexedSeq]
  11. object IndexedView
  12. object Iterable extends Delegate[Iterable]
  13. object IterableFactory
  14. object Iterator
  15. object Map extends Delegate[Map]
  16. object MapFactory
  17. object Seq extends Delegate[Seq]
  18. object SeqFactory
  19. object SeqOps
  20. object Set extends Delegate[Set]
  21. object SortedIterableFactory
  22. object SortedMap extends Delegate[SortedMap]
  23. object SortedMapFactory
  24. object SortedSet extends Delegate[SortedSet]
  25. object View extends IterableFactory[View]

    This object reifies operations on views as case classes

Inherited from LowPriority

Inherited from AnyRef

Inherited from Any

Ungrouped