traitgraph_algo/dijkstra/
dijkstra_weight_implementations.rs

1use crate::dijkstra::DijkstraWeight;
2
3macro_rules! impl_dijkstra_weight {
4    ($weight_type:ty) => {
5        impl DijkstraWeight for $weight_type {
6            #[inline]
7            fn infinity() -> Self {
8                Self::MAX
9            }
10
11            #[inline]
12            fn zero() -> Self {
13                0
14            }
15        }
16    };
17}
18
19impl_dijkstra_weight!(usize);
20impl_dijkstra_weight!(isize);
21impl_dijkstra_weight!(u8);
22impl_dijkstra_weight!(i8);
23impl_dijkstra_weight!(u16);
24impl_dijkstra_weight!(i16);
25impl_dijkstra_weight!(u32);
26impl_dijkstra_weight!(i32);
27impl_dijkstra_weight!(u64);
28impl_dijkstra_weight!(i64);
29impl_dijkstra_weight!(u128);
30impl_dijkstra_weight!(i128);