Add an insert_with_key function to the Map trait

This commit is contained in:
Kevin Cantu 2012-11-11 01:01:37 -08:00 committed by Brian Anderson
parent 455d73cb86
commit a343e435d5
3 changed files with 39 additions and 1 deletions

View file

@ -61,6 +61,14 @@ impl<T: Copy> cat<T> : Map<int, T> {
else { None }
}
fn insert_with_key(ff: fn(+k: int, +v0: T, +v1: T) -> T, +key: int, +val: T) -> bool {
match self.find(key) {
None => return self.insert(key, val),
Some(copy orig) => return self.insert(key, ff(key, orig, val))
}
}
fn remove(+k:int) -> bool {
match self.find(k) {
Some(x) => {