Add init procs for sets

This commit is contained in:
Zahary Karadjov 2019-07-16 13:17:32 +03:00
parent 522398a53e
commit 7d764a2390
No known key found for this signature in database
GPG Key ID: C8936F8A3073D609
1 changed files with 22 additions and 0 deletions

22
stew/shims/sets.nim Normal file
View File

@ -0,0 +1,22 @@
import std/sets, ../objects
when not declared(initHashSet):
template initHashSet*[T](initialSize = 64): auto =
initSet[T](initialSize)
template init*[T](_: type HashSet[T]): auto = initHashSet[T]()
template init*[T](_: type HashSet[T], defaultSize: int): auto = initHashSet[T](defaultSize)
# TODO: This should work, but Nim can't handle it
# template init*[T](_: type HashSet[T], args: varargs[untyped]): auto = initHashSet[T](args)
template init*[T](_: type OrderedSet[T]): auto = initOrderedSet[T]()
template init*[T](_: type OrderedSet[T], initialSize: int): auto = initOrderedSet[T](initialSize)
# template init*[T](_: type OrderedSet[T], args: varargs[untyped]): auto = initOrderedSet[T](args)
template init*[T](_: type set[T]): auto =
var x: set[T]
x
export sets, objects