rusty_priority_queue/
pair.rs1use 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}