pub struct TimeTotal {
pub filter: TimeFilter,
pub group: TimeGroup,
pub total_minutes: Option<i128>,
pub entry_count: usize,
pub malformed_count: usize,
pub undated_count: usize,
pub deleted_count: Option<usize>,
pub diagnostics: Vec<TimeDiagnostic>,
}Expand description
A typed integer-minute aggregate for one scope (data-model §4).
Every number beside the total is a count a reader needs to know whether the total is the whole story: how many entries were counted, how many were malformed (excluded from the total, each with a finding), how many the period could not place because they carry no date, and — only when the filter asked for audit context — how many prior values a deletion left in History.
Fields§
§filter: TimeFilterThe selector this total was evaluated under (data-model §4’s scope).
group: TimeGroupThe dimension this total is grouped by.
total_minutes: Option<i128>The sum of the counted entries’ minutes. None when nothing was counted;
Some(0) only when a zero was actually recorded.
entry_count: usizeValid entries counted into the sum.
malformed_count: usizeEntries whose own fields are unusable. They contribute no number, and each has its own finding.
undated_count: usizeValid entries a period-bounded filter could not place because they carry no date. Their value is unknown to the period, never zero (C-005).
deleted_count: Option<usize>Prior values deletions left in History on the issues this total is about.
Some only when the filter asked for audit context (T017), and never part of
the sum.
The set counted is the scope’s own: an ungrouped total counts the issues the
filter’s selector covers, which is exactly what TimeSnapshot::audit
reports for the same filter — so an issue whose current entries were all
deleted still reports the values History keeps, never a zero; a per-issue
group counts its issue; an identity or date group counts the issues its
entries were drawn from, because History’s prior values are not re-parsed here
and a deletion cannot be attributed to an identity or a date.
diagnostics: Vec<TimeDiagnostic>Every finding, scope findings first, then per entry in index order (T016).
Implementations§
Source§impl TimeTotal
impl TimeTotal
Sourcepub fn state(&self) -> TimeTotalState
pub fn state(&self) -> TimeTotalState
The explicit state of this total (T015).
Sourcepub const fn is_partial(&self) -> bool
pub const fn is_partial(&self) -> bool
Whether some selected entry was left out of the sum (T015).
True when a malformed entry contributed no number, and when a period-bounded scope selected a valid entry it could not place: in both cases the total is not the whole story, and a reader must be shown the counts and findings before the number means anything.
Trait Implementations§
impl Eq for TimeTotal
impl StructuralPartialEq for TimeTotal
Auto Trait Implementations§
impl Freeze for TimeTotal
impl RefUnwindSafe for TimeTotal
impl Send for TimeTotal
impl Sync for TimeTotal
impl Unpin for TimeTotal
impl UnsafeUnpin for TimeTotal
impl UnwindSafe for TimeTotal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more