Skip to content

Commit 5793954

Browse files
committed
---
yaml --- r: 709 b: refs/heads/master c: 4d17283 h: refs/heads/master i: 707: 017242b v: v3
1 parent 1e938e3 commit 5793954

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 2880ecd73ff7443ad72eb7af3c85e673024fc7fd
2+
refs/heads/master: 4d172833710f580c777cb5c1938a8991cc38cd08

trunk/src/lib/map.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type hashmap[K, V] = obj {
2020
fn find(&K key) -> util.option[V];
2121
fn remove(&K key) -> util.option[V];
2222
fn rehash();
23+
iter items() -> tup(K,V);
2324
};
2425

2526
fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
@@ -216,6 +217,17 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
216217
rehash[K, V](hasher, eqer, bkts, nbkts, newbkts, nbkts);
217218
bkts = newbkts;
218219
}
220+
221+
iter items() -> tup(K,V) {
222+
for (bucket[K,V] b in bkts) {
223+
alt (b) {
224+
case(some[K,V](?k,?v)) {
225+
put tup(k,v);
226+
}
227+
case (_) { }
228+
}
229+
}
230+
}
219231
}
220232

221233
let vec[mutable bucket[K, V]] bkts =

0 commit comments

Comments
 (0)