summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/generic/SetFactory.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/scala/collection/generic/SetFactory.scala')
-rwxr-xr-xsrc/library/scala/collection/generic/SetFactory.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/library/scala/collection/generic/SetFactory.scala b/src/library/scala/collection/generic/SetFactory.scala
new file mode 100755
index 0000000000..a2caa99432
--- /dev/null
+++ b/src/library/scala/collection/generic/SetFactory.scala
@@ -0,0 +1,16 @@
+package scala.collection.generic
+
+/** A template for companion objects of Map and subclasses thereof.
+ */
+abstract class SetFactory[CC[A] <: Set[A] with SetTemplate[A, CC[A]]] {
+
+ def newBuilder[A]: Builder[A, CC[A], Any] = new AddingBuilder[A, CC[A]](empty[A])
+
+ def empty[A]: CC[A]
+
+ def apply[A](elems: A*): CC[A] = {
+ var s = empty[A]
+ for (elem <- elems) s = s + elem
+ s
+ }
+}