diff options
Diffstat (limited to 'src/library/scala/collection/generic/GenericParCompanion.scala')
-rw-r--r-- | src/library/scala/collection/generic/GenericParCompanion.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/library/scala/collection/generic/GenericParCompanion.scala b/src/library/scala/collection/generic/GenericParCompanion.scala new file mode 100644 index 0000000000..0da1a3a543 --- /dev/null +++ b/src/library/scala/collection/generic/GenericParCompanion.scala @@ -0,0 +1,29 @@ +package scala.collection.generic + + +import scala.collection.parallel.Combiner +import scala.collection.parallel.ParIterable +import scala.collection.parallel.ParMap + + + +/** A template class for companion objects of parallel collection classes. + * They should be mixed in together with `GenericCompanion` type. + * @tparam CC the type constructor representing the collection class + * @since 2.8 + */ +trait GenericParCompanion[+CC[X] <: ParIterable[X]] { + /** The default builder for $Coll objects. + */ + def newBuilder[A]: Combiner[A, CC[A]] + + /** The parallel builder for $Coll objects. + */ + def newCombiner[A]: Combiner[A, CC[A]] +} + +trait GenericParMapCompanion[+CC[P, Q] <: ParMap[P, Q]] { + def newCombiner[P, Q]: Combiner[(P, Q), CC[P, Q]] +} + + |