metamodel: rename 'universal' to 'enum'
[nit.git] / lib / standard / collection / range.nit
index 0641c2b..9dbbc80 100644 (file)
@@ -17,7 +17,7 @@ import abstract_collection
 
 # Range of discrete objects. 
 class Range[E: Discrete]
-special Collection[E]
+       super Collection[E]
 
        redef readable var _first: E
 
@@ -42,6 +42,17 @@ special Collection[E]
 
        redef fun iterator do return new IteratorRange[E](self)
 
+       redef fun iterate
+               !each(e: E)
+       do
+               var c = _first
+               var l = _last
+               while c <= l do
+                       each(c)
+                       c = c.succ
+               end
+       end
+
        redef fun length
        do
                var nb = _first.distance(_after)
@@ -75,7 +86,7 @@ end
 
 class IteratorRange[E: Discrete]
        # Iterator on ranges.
-special Iterator[E]
+       super Iterator[E]
        var _range: Range[E]    
        redef readable var _item: E