rusty_priority_queue/
pair.rs

1use std::fmt::Display;
2
3#[derive(Clone, Copy, Debug)]
4pub struct Pair<T> where T : Clone + Sized + Display + PartialEq {
5    pub priority: usize,
6    element: T
7}
8
9impl<T> Pair<T> where T : Clone + Sized + Display + PartialEq {
10    pub fn new(element: T, priority: usize) -> Self {
11        Self { priority, element }
12    }
13
14    pub(super) fn get_element(&self) -> &T {
15        &self.element
16    }
17
18    pub(super) fn get_cloned_element(&self) -> T {
19        self.element.clone()
20    }
21}
22
23impl<T: Clone + Display + PartialEq> Display for Pair<T> {
24    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25        write!(f, "priority: {}, element: {}", self.priority, self.element)
26    }
27}