implement container::Mutable for SmallIntMap
This commit is contained in:
parent
aac91267e3
commit
9ba7114515
1 changed files with 17 additions and 3 deletions
|
@ -95,6 +95,10 @@ impl<V> SmallIntMap<V>: Container {
|
||||||
pure fn is_empty(&self) -> bool { self.len() == 0 }
|
pure fn is_empty(&self) -> bool { self.len() == 0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<V> SmallIntMap<V>: Mutable {
|
||||||
|
fn clear(&mut self) { self.v.set(~[]) }
|
||||||
|
}
|
||||||
|
|
||||||
/// Implements the map::map interface for smallintmap
|
/// Implements the map::map interface for smallintmap
|
||||||
impl<V: Copy> SmallIntMap<V> {
|
impl<V: Copy> SmallIntMap<V> {
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
@ -111,9 +115,6 @@ impl<V: Copy> SmallIntMap<V> {
|
||||||
self.v.set_elt(key, None);
|
self.v.set_elt(key, None);
|
||||||
old.is_some()
|
old.is_some()
|
||||||
}
|
}
|
||||||
fn clear() {
|
|
||||||
self.v.set(~[]);
|
|
||||||
}
|
|
||||||
pure fn contains_key(key: uint) -> bool {
|
pure fn contains_key(key: uint) -> bool {
|
||||||
contains_key(self, key)
|
contains_key(self, key)
|
||||||
}
|
}
|
||||||
|
@ -191,6 +192,19 @@ mod tests {
|
||||||
assert !map.is_empty();
|
assert !map.is_empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_clear() {
|
||||||
|
let mut map = mk();
|
||||||
|
map.insert(5, 20);
|
||||||
|
map.insert(11, 12);
|
||||||
|
map.insert(14, 22);
|
||||||
|
map.clear();
|
||||||
|
assert map.is_empty();
|
||||||
|
assert map.find(5).is_none();
|
||||||
|
assert map.find(11).is_none();
|
||||||
|
assert map.find(14).is_none();
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_insert_with_key() {
|
fn test_insert_with_key() {
|
||||||
let map: SmallIntMap<uint> = mk();
|
let map: SmallIntMap<uint> = mk();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue