summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/mutable/LinearSequence.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection/mutable/LinearSequence.scala')
-rwxr-xr-xsrc/library/scala/collection/mutable/LinearSequence.scala17
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]
+}