package scala.collection.generic
import scala.collection.parallel.ParMap
import scala.collection.parallel.ParMapLike
import scala.collection.parallel.Combiner
import scala.collection.mutable.Builder
abstract class ParMapFactory[CC[X, Y] <: ParMap[X, Y] with ParMapLike[X, Y, CC[X, Y], _]]
extends GenMapFactory[CC]
with GenericParMapCompanion[CC] {
type MapColl = CC[_, _]
override def newBuilder[K, V]: Builder[(K, V), CC[K, V]] = newCombiner[K, V]
def newCombiner[K, V]: Combiner[(K, V), CC[K, V]]
class CanCombineFromMap[K, V] extends CanCombineFrom[CC[_, _], (K, V), CC[K, V]] {
def apply(from: MapColl) = from.genericMapCombiner[K, V].asInstanceOf[Combiner[(K, V), CC[K, V]]]
def apply() = newCombiner[K, V]
}
}