about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-02-16 18:55:25 -0500
committerDaniel Micay <danielmicay@gmail.com>2013-02-16 18:57:01 -0500
commited7c9c4e2a248c33f12c4a14d23dfe1b347a6310 (patch)
tree8fcbee135b5cbe03481c783d2b2b05dc7b8780ca
parentb47e1e9eda303e42896821cbc8d9bbc127890abb (diff)
downloadrust-ed7c9c4e2a248c33f12c4a14d23dfe1b347a6310.tar.gz
rust-ed7c9c4e2a248c33f12c4a14d23dfe1b347a6310.zip
add a Mutable implementation (clear) to std::deque
-rw-r--r--src/libstd/deque.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstd/deque.rs b/src/libstd/deque.rs
index 86b904be3cb..d8fca5c8532 100644
--- a/src/libstd/deque.rs
+++ b/src/libstd/deque.rs
@@ -28,6 +28,15 @@ impl<T> Container for Deque<T> {
     pure fn is_empty(&self) -> bool { self.len() == 0 }
 }
 
+impl<T> Mutable for Deque<T> {
+    fn clear(&mut self) {
+        for vec::each_mut(self.elts) |x| { *x = None }
+        self.nelts = 0;
+        self.lo = 0;
+        self.hi = 0;
+    }
+}
+
 impl<T: Copy> Deque<T> {
     static pure fn new() -> Deque<T> {
         Deque{nelts: 0, lo: 0, hi: 0,