summary refs log tree commit diff stats
diff options
context:
space:
mode:
authordef <dennis@felsin9.de>2015-03-02 01:57:25 +0100
committerdef <dennis@felsin9.de>2015-03-17 19:39:02 +0100
commit524b68d0edcadae340bf0d4406ba7cd49a478108 (patch)
tree80f60bc7580cbf2d0d29e9256bb215053874e174
parent650a75beea975e367e87d77052f01582166ffd56 (diff)
downloadNim-524b68d0edcadae340bf0d4406ba7cd49a478108.tar.gz
Make strtabs module usable when avoiding allocations
- resetStringTable proc
-rw-r--r--lib/pure/strtabs.nim6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/pure/strtabs.nim b/lib/pure/strtabs.nim
index 727d5a386..05d8666c6 100644
--- a/lib/pure/strtabs.nim
+++ b/lib/pure/strtabs.nim
@@ -168,6 +168,12 @@ proc newStringTable*(mode: StringTableMode): StringTableRef {.
   result.counter = 0
   newSeq(result.data, startSize)
 
+proc resetStringTable*(s: var StringTableRef, mode: StringTableMode) =
+  ## resets a string table to be empty again.
+  s.mode = mode
+  s.counter = 0
+  s.data.setLen(startSize)
+
 proc newStringTable*(keyValuePairs: varargs[string],
                      mode: StringTableMode): StringTableRef {.
   rtl, extern: "nst$1WithPairs".} =