File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed
Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -53,10 +53,13 @@ object CollectionStrawMan1 {
5353 def indexWhere (p : A => Boolean ): Int = iterator.indexWhere(p)
5454 def isEmpty : Boolean = ! iterator.hasNext
5555 def head : A = iterator.next
56- def view : View [A ] = iterator _
5756 def collectAs [C [X ] <: Iterable [X ]](fi : FromIterator [C ]): C [A ] = fi.fromIterator(iterator)
5857 }
5958
59+ trait Viewable [A ] extends Any {
60+ def view : View [A ]
61+ }
62+
6063 /** Transforms returning same collection type */
6164 trait MonoTransforms [A , Repr ] extends Any {
6265 protected def iter : Iterator [A ]
@@ -89,6 +92,11 @@ object CollectionStrawMan1 {
8992 def iterator = c.iterator
9093 }
9194
95+ implicit class IterableIsViewable [A ](val c : Iterable [A ]) extends Viewable [A ]{
96+ def iterator : Iterator [A ] = c.iterator
97+ def view : View [A ] = iterator _
98+ }
99+
92100 /** Implementation of MonoTransforms for all generic collections */
93101 implicit class IterableMonoTransforms [A , C [X ] <: Iterable [X ]](val c : Iterable [A ] with FromIterator [C ])
94102 extends AnyVal with MonoTransforms [A , C [A ]] {
You can’t perform that action at this time.
0 commit comments