From 0b5c14962e63f3aca0c7480de2428568b4ba6650 Mon Sep 17 00:00:00 2001 From: Simon Hafner Date: Mon, 10 Feb 2014 12:44:44 -0600 Subject: added `map` to sets --- lib/pure/collections/sets.nim | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/pure/collections/sets.nim') diff --git a/lib/pure/collections/sets.nim b/lib/pure/collections/sets.nim index e6ab617e5..12fa2625b 100644 --- a/lib/pure/collections/sets.nim +++ b/lib/pure/collections/sets.nim @@ -241,3 +241,7 @@ proc `<=`*[A](s, t: TSet[A]): bool = proc `==`*[A](s, t: TSet[A]): bool = s.counter == t.counter and s <= t + +proc map*[A, B](data: TSet[A], op: proc (x: A): B {.closure.}): TSet[A] = + result = initSet[B]() + for i in data: result.incl(op(i)) -- cgit 1.4.1-2-gfad0