File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
compat/src/main/scala-2.11_2.12/scala/collection/compat Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -256,6 +256,34 @@ class IteratorExtensionMethods[A](private val self: c.Iterator[A]) extends AnyVa
256256
257257class TraversableOnceExtensionMethods [A ](private val self : c.TraversableOnce [A ]) extends AnyVal {
258258 def iterator : Iterator [A ] = self.toIterator
259+
260+ def minOption [B >: A ](implicit ord : Ordering [B ]): Option [A ] = {
261+ if (self.isEmpty)
262+ None
263+ else
264+ Some (self.min(ord))
265+ }
266+
267+ def maxOption [B >: A ](implicit ord : Ordering [B ]): Option [A ] = {
268+ if (self.isEmpty)
269+ None
270+ else
271+ Some (self.max(ord))
272+ }
273+
274+ def minByOption [B ](f : A => B )(implicit cmp : Ordering [B ]): Option [A ] = {
275+ if (self.isEmpty)
276+ None
277+ else
278+ Some (self.minBy(f)(cmp))
279+ }
280+
281+ def maxByOption [B ](f : A => B )(implicit cmp : Ordering [B ]): Option [A ] = {
282+ if (self.isEmpty)
283+ None
284+ else
285+ Some (self.maxBy(f)(cmp))
286+ }
259287}
260288
261289class TraversableExtensionMethods [A ](private val self : c.Traversable [A ]) extends AnyVal {
You can’t perform that action at this time.
0 commit comments