@@ -22,17 +22,17 @@ pub struct PriorityQueue<T> {
22
22
data : Vec < T > ,
23
23
}
24
24
25
- impl < T : Ord > Container for PriorityQueue < T > {
25
+ impl < T : TotalOrd > Container for PriorityQueue < T > {
26
26
/// Returns the length of the queue
27
27
fn len ( & self ) -> uint { self . data . len ( ) }
28
28
}
29
29
30
- impl < T : Ord > Mutable for PriorityQueue < T > {
30
+ impl < T : TotalOrd > Mutable for PriorityQueue < T > {
31
31
/// Drop all items from the queue
32
32
fn clear ( & mut self ) { self . data . truncate ( 0 ) }
33
33
}
34
34
35
- impl < T : Ord > PriorityQueue < T > {
35
+ impl < T : TotalOrd > PriorityQueue < T > {
36
36
/// An iterator visiting all values in underlying vector, in
37
37
/// arbitrary order.
38
38
pub fn iter < ' a > ( & ' a self ) -> Items < ' a , T > {
@@ -197,15 +197,15 @@ impl<'a, T> Iterator<&'a T> for Items<'a, T> {
197
197
fn size_hint ( & self ) -> ( uint , Option < uint > ) { self . iter . size_hint ( ) }
198
198
}
199
199
200
- impl < T : Ord > FromIterator < T > for PriorityQueue < T > {
200
+ impl < T : TotalOrd > FromIterator < T > for PriorityQueue < T > {
201
201
fn from_iter < Iter : Iterator < T > > ( iter : Iter ) -> PriorityQueue < T > {
202
202
let mut q = PriorityQueue :: new ( ) ;
203
203
q. extend ( iter) ;
204
204
q
205
205
}
206
206
}
207
207
208
- impl < T : Ord > Extendable < T > for PriorityQueue < T > {
208
+ impl < T : TotalOrd > Extendable < T > for PriorityQueue < T > {
209
209
fn extend < Iter : Iterator < T > > ( & mut self , mut iter : Iter ) {
210
210
let ( lower, _) = iter. size_hint ( ) ;
211
211
0 commit comments