summary refs log tree commit diff stats
diff options
context:
space:
mode:
authordef <dennis@felsin9.de>2015-04-03 11:09:56 +0200
committerdef <dennis@felsin9.de>2015-04-03 11:10:36 +0200
commit8faac66abe1fae381f68ff5eee586bfe250dbfe3 (patch)
tree20a51fa636c9aecd29efbcdd943d01641e78ce91
parent57fa8c6d3f535acc79ef8a67a6ef7aef0c7519da (diff)
downloadNim-8faac66abe1fae381f68ff5eee586bfe250dbfe3.tar.gz
Add items iterator for slices
-rw-r--r--lib/system.nim6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim
index ba0690ace..fa0c36a2d 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -1738,6 +1738,12 @@ iterator items*(E: typedesc[enum]): E =
   for v in low(E)..high(E):
     yield v
 
+iterator items*[T](s: Slice[T]): T =
+  ## iterates over the slice `s`, yielding each value between `s.a` and `s.b`
+  ## (inclusively).
+  for x in s.a..s.b:
+    yield x
+
 iterator pairs*[T](a: openArray[T]): tuple[key: int, val: T] {.inline.} =
   ## iterates over each item of `a`. Yields ``(index, a[index])`` pairs.
   var i = 0