pub struct PQueue<T, W>{ /* private fields */ }Expand description
Max priority queue that can properly handle floats.
Implementations§
Source§impl<T, W> PQueue<T, W>
impl<T, W> PQueue<T, W>
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Make a queue with pre-allocated size.
Sourcepub fn from_iterator<I>(iter: I) -> Self
pub fn from_iterator<I>(iter: I) -> Self
Make a queue from an iterator.
Sourcepub fn push(&mut self, item: T, weight: W) -> Option<OrderedFloat<W>>
pub fn push(&mut self, item: T, weight: W) -> Option<OrderedFloat<W>>
Insert the item, weight pair into the queue.
If an element equal to item is already in the queue, its priority is updated and the old
priority is returned in Some; otherwise, item is inserted with priority and None is returned.
Sourcepub fn pop(&mut self) -> Option<(T, W)>
pub fn pop(&mut self) -> Option<(T, W)>
Removes the item with the greatest priority from the priority queue and returns the pair
item, weight, or None if the queue is empty.
Trait Implementations§
Auto Trait Implementations§
impl<T, W> Freeze for PQueue<T, W>
impl<T, W> RefUnwindSafe for PQueue<T, W>where
T: RefUnwindSafe,
W: RefUnwindSafe,
impl<T, W> Send for PQueue<T, W>
impl<T, W> Sync for PQueue<T, W>
impl<T, W> Unpin for PQueue<T, W>
impl<T, W> UnsafeUnpin for PQueue<T, W>
impl<T, W> UnwindSafe for PQueue<T, W>where
T: UnwindSafe,
W: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.