Packages

  • package root
    Definition Classes
    root
  • package strawman
    Definition Classes
    root
  • package collection

    A strawman architecture for new collections.

    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 odether 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.

    Strawman6 is like strawman5, and adds lazy lists (i.e. lazie streams), arrays and some utilitity methods (take, tail, mkString, toArray). Also, systematically uses builders for all strict collections.

    Types covered in this strawman:

    1. Collection base types:

    IterableOnce, Iterable, Seq, LinearSeq, View, IndexedView

    2. Collection creator base types:

    FromIterable, IterableFactory, Buildable, Builder

    3. Types that bundle operations:

    IterableOps, IterableMonoTransforms, IterablePolyTransforms, IterableLike SeqMonoTransforms, SeqLike

    4. Concrete collection types:

    List, LazyList, ListBuffer, ArrayBuffer, ArrayBufferView, StringView, ArrayView

    5. Decorators for existing types

    StringOps, ArrayOps

    6. Related non collection types:

    Iterator, StringBuilder

    Operations covered in this strawman:

    1. Abstract operations, or expected to be overridden:

    For iterables:

    iterator, fromIterable, fromIterableWithSameElemType, knownLength, className

    For sequences:

    apply, length

    For buildables:

    newBuilder

    For builders:

    +=, result

    2. Utility methods, might be overridden for performance:

    Operations returning not necessarily a collection:

    foreach, foldLeft, foldRight, indexWhere, isEmpty, head, size, mkString

    Operations returning a collection of a fixed type constructor:

    view, to, toArray, copyToArray

    Type-preserving generic transforms:

    filter, partition, take, drop, tail, reverse

    Generic transforms returning collections of different element types:

    map, flatMap, ++, zip

    Definition Classes
    strawman
  • package mutable
    Definition Classes
    collection
  • ArrayBuffer
  • ArrayBufferView
  • BitSet
  • Buildable
  • Builder
  • Growable
  • GrowableSeq
  • HashMap
  • HashSet
  • IndexedOptimizedGrowableSeq
  • IndexedOptimizedSeq
  • Iterable
  • ListBuffer
  • Map
  • MapLike
  • RefArrayUtils
  • Seq
  • Set
  • SetLike
  • SetMonoTransforms
  • SortedSet
  • SortedSetLike
  • StringBuilder

trait BitSet extends collection.BitSet with BitSetLike[BitSet] with SortedSet[Int]

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BitSet
  2. SortedSet
  3. SortedSetLike
  4. Set
  5. Growable
  6. SetLike
  7. SetMonoTransforms
  8. BitSet
  9. BitSetLike
  10. BitSetMonoTransforms
  11. SortedSet
  12. SortedSetLike
  13. SortedPolyTransforms
  14. Sorted
  15. SortedLike
  16. Set
  17. SetLike
  18. Equals
  19. SetMonoTransforms
  20. Iterable
  21. IterableLike
  22. IterablePolyTransforms
  23. IterableMonoTransforms
  24. IterableOps
  25. FromIterable
  26. IterableOnce
  27. AnyRef
  28. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def &(that: collection.Set[Int]): BitSet
    Definition Classes
    SetMonoTransforms
  2. abstract def ++(that: collection.Set[Int]): BitSet
    Definition Classes
    SetMonoTransforms
  3. abstract def +=(elem: Int): BitSet.this.type

    ${Add}s a single element to this $coll.

    ${Add}s a single element to this $coll.

    elem

    the element to $add.

    returns

    the $coll itself

    Definition Classes
    SetGrowable
  4. abstract def -=(elem: Int): BitSet.this.type
    Definition Classes
    Set
  5. abstract def ^(other: collection.BitSet): BitSet

    Computes the symmetric difference of this bitset and another bitset by performing a bitwise “exclusive-or”.

    Computes the symmetric difference of this bitset and another bitset by performing a bitwise “exclusive-or”.

    other

    the other bitset to take part in the symmetric difference.

    returns

    a bitset containing those bits of this bitset or the other bitset that are not contained in both bitsets.

    Definition Classes
    BitSetMonoTransforms
  6. abstract def clear(): Unit

    Clears the $coll's contents.

    Clears the $coll's contents. After this operation, the $coll is empty.

    Definition Classes
    Growable
  7. abstract def contains(elem: Int): Boolean
    Definition Classes
    SetSetLike
  8. abstract def fromIterable[B](coll: collection.Iterable[B]): Set[B]
    Definition Classes
    IterablePolyTransforms
  9. abstract def fromIterableWithSameElemType(coll: collection.Iterable[Int]): Set[Int]

    Create a collection of type C[A] from the elements of coll, which has the same element type as this collection.

    Create a collection of type C[A] from the elements of coll, which has the same element type as this collection. Overridden in StringOps and ArrayOps.

    Attributes
    protected[this]
    Definition Classes
    IterableLikeIterableMonoTransforms
  10. abstract def get(elem: Int): Option[Int]
    Definition Classes
    Set
  11. abstract def iterator(): Iterator[Int]

    Iterator can be used only once

    Iterator can be used only once

    Definition Classes
    IterableOnce
  12. abstract def map(f: (Int) ⇒ Int): BitSet

    Builds a new bitset by applying a function to all elements of this bitset

    Builds a new bitset by applying a function to all elements of this bitset

    f

    the function to apply to each element.

    returns

    a new bitset resulting from applying the given function f to each element of this bitset and collecting the results

    Definition Classes
    BitSetMonoTransforms
  13. abstract def map[B](f: (Int) ⇒ B)(implicit ordering: Ordering[B]): SortedSet[B]
    Definition Classes
    SortedPolyTransforms
  14. abstract def range(from: Int, until: Int): SortedSet[Int]
    Definition Classes
    SortedLike
  15. abstract def subsetOf(that: collection.Set[Int]): Boolean
    Definition Classes
    SetLike

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def ++[B >: Int](xs: IterableOnce[B]): Set[B]

    Concatenation

    Concatenation

    Definition Classes
    IterablePolyTransforms
  4. def ++=(xs: IterableOnce[Int]): BitSet.this.type

    ${Add}s all elements produced by a TraversableOnce to this $coll.

    ${Add}s all elements produced by a TraversableOnce to this $coll.

    xs

    the TraversableOnce producing the elements to $add.

    returns

    the $coll itself.

    Definition Classes
    Growable
  5. def +=(elem1: Int, elem2: Int, elems: Int*): BitSet.this.type

    ${Add}s two or more elements to this $coll.

    ${Add}s two or more elements to this $coll.

    elem1

    the first element to $add.

    elem2

    the second element to $add.

    elems

    the remaining elements to $add.

    returns

    the $coll itself

    Definition Classes
    Growable
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def canEqual(that: Any): Boolean
    Definition Classes
    SetLike → Equals
  9. def className: String

    The class name of this collection.

    The class name of this collection. To be used for converting to string. Collections generally print like this:

    <className>(elem_1, ..., elem_n)

    Definition Classes
    IterableOps
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def coll: BitSet.this.type

    The collection itself

    The collection itself

    Attributes
    protected
    Definition Classes
    IterableIterablePolyTransformsIterableMonoTransformsIterableOps
  12. def copyToArray[B >: Int](xs: Array[B], start: Int = 0): xs.type

    Copy all elements of this collection to array xs, starting at start.

    Copy all elements of this collection to array xs, starting at start.

    Definition Classes
    IterableOps
  13. def drop(n: Int): BitSet

    The rest of the collection without its n first elements.

    The rest of the collection without its n first elements. For linear, immutable collections this should avoid making a copy.

    Definition Classes
    IterableMonoTransforms
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(that: Any): Boolean
    Definition Classes
    SetLike → Equals → AnyRef → Any
  16. def filter(p: (Int) ⇒ Boolean): BitSet

    All elements satisfying predicate p

    All elements satisfying predicate p

    Definition Classes
    IterableMonoTransforms
  17. def filterInPlace(p: (Int) ⇒ Boolean): Unit
    Definition Classes
    Set
  18. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def flatMap[B](f: (Int) ⇒ IterableOnce[B]): Set[B]

    Flatmap

    Flatmap

    Definition Classes
    IterablePolyTransforms
  20. def flatMapInPlace(f: (Int) ⇒ IterableOnce[Int]): Unit
    Definition Classes
    Set
  21. def foldLeft[B](z: B)(op: (B, Int) ⇒ B): B

    Fold left

    Fold left

    Definition Classes
    IterableOps
  22. def foldRight[B](z: B)(op: (Int, B) ⇒ B): B

    Fold right

    Fold right

    Definition Classes
    IterableOps
  23. def foreach[U](f: (Int) ⇒ U): Unit

    Apply f to each element for its side effects Note: [U] parameter needed to help scalac's type inference.

    Apply f to each element for its side effects Note: [U] parameter needed to help scalac's type inference.

    Definition Classes
    IterableOps
  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  25. def hashCode(): Int
    Definition Classes
    SetLike → AnyRef → Any
  26. def head: Int

    The first element of the collection.

    The first element of the collection.

    Definition Classes
    IterableOps
  27. def indexWhere(p: (Int) ⇒ Boolean): Int

    The index of the first element in this collection for which p holds.

    The index of the first element in this collection for which p holds.

    Definition Classes
    IterableOps
  28. def insert(elem: Int): Boolean
    Definition Classes
    Set
  29. def isEmpty: Boolean

    Is the collection empty?

    Is the collection empty?

    Definition Classes
    IterableOps
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. def knownSize: Int

    The number of elements in this collection, if it can be cheaply computed, -1 otherwise.

    The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.

    Definition Classes
    IterableOps
  32. def map[B](f: (Int) ⇒ B): Set[B]

    Map

    Map

    Definition Classes
    IterablePolyTransforms
  33. def mapInPlace(f: (Int) ⇒ Int): Unit
    Definition Classes
    Set
  34. def mkString(sep: String): String

    A string showing all elements of this collection, separated by string sep.

    A string showing all elements of this collection, separated by string sep.

    Definition Classes
    IterableOps
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def nonEmpty: Boolean

    Is the collection not empty?

    Is the collection not empty?

    Definition Classes
    IterableOps
  37. final def notify(): Unit
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  39. final def ordering: Ordering[Int]
    Definition Classes
    BitSetLikeSortedLike
  40. def partition(p: (Int) ⇒ Boolean): (BitSet, BitSet)

    A pair of, first, all elements that satisfy prediacte p and, second, all elements that do not.

    A pair of, first, all elements that satisfy prediacte p and, second, all elements that do not. Interesting because it splits a collection in two.

    The default implementation provided here needs to traverse the collection twice. Strict collections have an overridden version of partition in Buildable, which requires only a single traversal.

    Definition Classes
    IterableMonoTransforms
  41. def remove(elem: Int): Option[Int]
    Definition Classes
    Set
  42. def size: Int

    The number of elements in this collection.

    The number of elements in this collection. Does not terminate for infinite collections.

    Definition Classes
    IterableOps
  43. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  44. def tail: BitSet

    The rest of the collection without its first element.

    The rest of the collection without its first element.

    Definition Classes
    IterableMonoTransforms
  45. def take(n: Int): BitSet

    A collection containing the first n elements of this collection.

    A collection containing the first n elements of this collection.

    Definition Classes
    IterableMonoTransforms
  46. def to[C[X] <: collection.Iterable[X]](fi: FromIterable[C]): C[Int]

    Given a collection factory fi for collections of type constructor C, convert this collection to one of type C[A].

    Given a collection factory fi for collections of type constructor C, convert this collection to one of type C[A]. Example uses:

    xs.to(List) xs.to(ArrayBuffer)

    Definition Classes
    IterableOps
  47. def toArray[B >: Int](implicit arg0: ClassTag[B]): Array[B]

    Convert collection to array.

    Convert collection to array.

    Definition Classes
    IterableOps
  48. def toString(): String
    Definition Classes
    IterableOps → Any
  49. def view: View[Int]

    A view representing the elements of this collection.

    A view representing the elements of this collection.

    Definition Classes
    IterableOps
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. def zip[B](xs: IterableOnce[B]): Set[(Int, B)]

    Zip.

    Zip. Interesting because it requires to align to source collections.

    Definition Classes
    IterablePolyTransforms

Inherited from SortedSet[Int]

Inherited from SortedSetLike[Int, SortedSet]

Inherited from Set[Int]

Inherited from Growable[Int]

Inherited from SetLike[Int, Set]

Inherited from SetMonoTransforms[Int, SortedSet[Int]]

Inherited from collection.BitSet

Inherited from BitSetLike[BitSet]

Inherited from BitSetMonoTransforms[BitSet]

Inherited from collection.SortedSet[Int]

Inherited from collection.SortedSetLike[Int, SortedSet]

Inherited from SortedPolyTransforms[Int, SortedSet]

Inherited from Sorted[Int]

Inherited from SortedLike[Int, SortedSet[Int]]

Inherited from collection.Set[Int]

Inherited from collection.SetLike[Int, Set]

Inherited from Equals

Inherited from collection.SetMonoTransforms[Int, BitSet]

Inherited from collection.Iterable[Int]

Inherited from IterableLike[Int, Set]

Inherited from IterablePolyTransforms[Int, Set]

Inherited from IterableMonoTransforms[Int, BitSet]

Inherited from IterableOps[Int]

Inherited from FromIterable[Set]

Inherited from IterableOnce[Int]

Inherited from AnyRef

Inherited from Any

Ungrouped