summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-12-07 17:20:51 +0100
committerAraq <rumpf_a@web.de>2012-12-07 17:20:51 +0100
commit1dc362dcd4e4752fce4d81800d965da8381790c8 (patch)
treeb564b553a424672e937be48daa1107241293cb69 /lib/pure
parent05b05be9f8554adc3081b71eb378940cb75428fd (diff)
downloadNim-1dc362dcd4e4752fce4d81800d965da8381790c8.tar.gz
compiler support for babel
Diffstat (limited to 'lib/pure')
-rwxr-xr-xlib/pure/strtabs.nim14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/pure/strtabs.nim b/lib/pure/strtabs.nim
index 09a243e97..77b463fc0 100755
--- a/lib/pure/strtabs.nim
+++ b/lib/pure/strtabs.nim
@@ -36,11 +36,23 @@ proc len*(t: PStringTable): int {.rtl, extern: "nst$1".} =
   result = t.counter
 
 iterator pairs*(t: PStringTable): tuple[key, value: string] =
-  ## iterates over any (key, value) pair in the table `t`.
+  ## iterates over every (key, value) pair in the table `t`.
   for h in 0..high(t.data):
     if not isNil(t.data[h].key):
       yield (t.data[h].key, t.data[h].val)
 
+iterator keys*(t: PStringTable): string =
+  ## iterates over every key in the table `t`.
+  for h in 0..high(t.data):
+    if not isNil(t.data[h].key):
+      yield t.data[h].key
+
+iterator values*(t: PStringTable): string =
+  ## iterates over every value in the table `t`.
+  for h in 0..high(t.data):
+    if not isNil(t.data[h].key):
+      yield t.data[h].val
+
 type
   TFormatFlag* = enum         ## flags for the `%` operator
     useEnvironment,           ## use environment variable if the ``$key``