about summary refs log tree commit diff
path: root/src/libstd/priority_queue.rs
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2012-12-17 18:08:59 -0500
committerBrian Anderson <banderson@mozilla.com>2012-12-17 15:23:12 -0800
commitf1e87733bd4b669f2dcfe758a7ae2b1ddea60715 (patch)
treeadd90449df756372b4c5acaf85634aedc603f135 /src/libstd/priority_queue.rs
parent02e804bba8e2e82e6e2112ceb297ffb237b42ea6 (diff)
downloadrust-f1e87733bd4b669f2dcfe758a7ae2b1ddea60715.tar.gz
rust-f1e87733bd4b669f2dcfe758a7ae2b1ddea60715.zip
add an empty PriorityQueue constructor
Diffstat (limited to 'src/libstd/priority_queue.rs')
-rw-r--r--src/libstd/priority_queue.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index 59d15c8b4c2..2f24b47883f 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -105,8 +105,11 @@ impl <T: Ord> PriorityQueue<T> {
         q.to_vec()
     }
 
+    /// Create an empty PriorityQueue
+    static pure fn new() -> PriorityQueue<T> { PriorityQueue{data: ~[],} }
+
     /// Create a PriorityQueue from a vector (heapify)
-    static pub pure fn from_vec(xs: ~[T]) -> PriorityQueue<T> {
+    static pure fn from_vec(xs: ~[T]) -> PriorityQueue<T> {
         let mut q = PriorityQueue{data: xs,};
         let mut n = q.len() / 2;
         while n > 0 {
@@ -168,7 +171,7 @@ impl <T: Ord> PriorityQueue<T> {
 mod tests {
     use sort::merge_sort;
     use core::cmp::le;
-    use priority_queue::PriorityQueue::from_vec;
+    use priority_queue::PriorityQueue::{from_vec, new};
 
     #[test]
     fn test_top_and_pop() {
@@ -279,30 +282,27 @@ mod tests {
     #[test]
     #[should_fail]
     #[ignore(cfg(windows))]
-    fn test_empty_pop() { let mut heap = from_vec::<int>(~[]); heap.pop(); }
+    fn test_empty_pop() { let mut heap = new::<int>(); heap.pop(); }
 
     #[test]
     fn test_empty_maybe_pop() {
-        let mut heap = from_vec::<int>(~[]);
+        let mut heap = new::<int>();
         assert heap.maybe_pop().is_none();
     }
 
     #[test]
     #[should_fail]
     #[ignore(cfg(windows))]
-    fn test_empty_top() { let empty = from_vec::<int>(~[]); empty.top(); }
+    fn test_empty_top() { let empty = new::<int>(); empty.top(); }
 
     #[test]
     fn test_empty_maybe_top() {
-        let empty = from_vec::<int>(~[]);
+        let empty = new::<int>();
         assert empty.maybe_top().is_none();
     }
 
     #[test]
     #[should_fail]
     #[ignore(cfg(windows))]
-    fn test_empty_replace() {
-        let mut heap = from_vec::<int>(~[]);
-        heap.replace(5);
-    }
+    fn test_empty_replace() { let mut heap = new(); heap.replace(5); }
 }