diff options
Diffstat (limited to 'src/library/scala/collection/mutable/LinearSequence.scala')
-rwxr-xr-x | src/library/scala/collection/mutable/LinearSequence.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/LinearSequence.scala b/src/library/scala/collection/mutable/LinearSequence.scala new file mode 100755 index 0000000000..d31da40386 --- /dev/null +++ b/src/library/scala/collection/mutable/LinearSequence.scala @@ -0,0 +1,17 @@ +package scala.collection.mutable + +import generic._ + +/** A subtrait of collection.Sequence which represents sequences + * that cannot be mutated. + */ +trait LinearSequence[A] extends Sequence[A] with collection.LinearSequence[A] with LinearSequenceTemplate[A, LinearSequence[A]] { + override protected[this] def newBuilder = LinearSequence.newBuilder + override def traversibleBuilder[B]: Builder[B, LinearSequence[B], Any] = LinearSequence.newBuilder[B] +} + +object LinearSequence extends SequenceFactory[LinearSequence] { + type Coll = LinearSequence[_] + implicit def builderFactory[A]: BuilderFactory[A, LinearSequence[A], Coll] = new BuilderFactory[A, LinearSequence[A], Coll] { def apply(from: Coll) = from.traversibleBuilder[A] } + def newBuilder[A]: Builder[A, LinearSequence[A], Any] = new MutableList[A] +} |