about summary refs log tree commit diff
path: root/src/libstd/priority_queue.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/priority_queue.rs')
-rw-r--r--src/libstd/priority_queue.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index fcd9f8379b2..5248ab1742e 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -12,6 +12,7 @@
 
 use core::container::{Container, Mutable};
 use core::cmp::Ord;
+use core::iter::BaseIter;
 use core::prelude::*;
 use core::ptr::addr_of;
 use core::vec;
@@ -26,6 +27,14 @@ pub struct PriorityQueue<T> {
     priv data: ~[T],
 }
 
+impl <T: Ord> PriorityQueue<T>: BaseIter<T> {
+    /// Visit all values in the underlying vector.
+    ///
+    /// The values are **not** visited in order.
+    pure fn each(&self, f: fn(&T) -> bool) { self.data.each(f) }
+    pure fn size_hint(&self) -> Option<uint> { self.data.size_hint() }
+}
+
 impl <T: Ord> PriorityQueue<T>: Container {
     /// Returns the length of the queue
     pure fn len(&self) -> uint { self.data.len() }