fast_pull/base/progress.rs
1use core::ops::Range;
2
3pub type ProgressEntry = Range<u64>;
4
5pub trait Total {
6 fn total(&self) -> u64;
7}
8
9impl Total for ProgressEntry {
10 #[allow(clippy::inline_always)]
11 #[inline(always)]
12 fn total(&self) -> u64 {
13 self.end.saturating_sub(self.start)
14 }
15}
16
17impl Total for Vec<ProgressEntry> {
18 fn total(&self) -> u64 {
19 self.iter().map(Total::total).sum()
20 }
21}