use crate::priority_queue::{MinimumQueue, Pop, Push};
impl<T: std::cmp::Ord> Push
for std::collections::BinaryHeap<std::cmp::Reverse<T>>
{
type T = T;
fn push(&mut self, x: Self::T) { Self::push(self, std::cmp::Reverse(x)); }
}
impl<T: std::cmp::Ord> Pop
for std::collections::BinaryHeap<std::cmp::Reverse<T>>
{
type T = T;
fn pop(&mut self) -> Option<Self::T> {
if let Some(std::cmp::Reverse(x)) = Self::pop(self) {
Some(x)
} else {
None
}
}
}
impl<T: std::cmp::Ord> MinimumQueue
for std::collections::BinaryHeap<std::cmp::Reverse<T>>
{
}