toolbox_rs/
merge_entry.rs1use std::cmp::Ordering;
2
3#[derive(PartialEq, Eq, Clone, Debug)]
4pub struct MergeEntry<T> {
5 pub item: T,
6 pub index: usize,
7}
8
9impl<T: Ord> PartialOrd for MergeEntry<T> {
10 fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
11 Some(self.cmp(other))
12 }
13}
14
15impl<T: Ord> Ord for MergeEntry<T> {
16 fn cmp(&self, other: &Self) -> Ordering {
17 other.item.cmp(&self.item)
19 }
20}
21
22#[cfg(test)]
23mod tests {
24 use super::*;
25
26 #[test]
27 fn test_ordering() {
28 let e1 = MergeEntry { item: 1, index: 0 };
29 let e2 = MergeEntry { item: 2, index: 1 };
30 assert!(e1 > e2); }
32}