pub struct OccurrenceExceptions { /* private fields */ }Expand description
Which occurrences of which series are not there, for one run.
Built from the whole task list because a replacement lives in an entry of its own — possibly in another file of the same scan. An exception therefore reaches only as far as the scan does, which ADR-0031 states as a consequence.
Implementations§
Source§impl OccurrenceExceptions
impl OccurrenceExceptions
Sourcepub fn from_tasks(tasks: &[Task]) -> Self
pub fn from_tasks(tasks: &[Task]) -> Self
Collect every (SERIES_ID, RECURRENCE_ID) pair in the run.
Sourcepub fn unknown_series(&self) -> &[String]
pub fn unknown_series(&self) -> &[String]
The SERIES_ID values of this run that name no entry in it.
Kept rather than reported here: this is built once per pass over the task list, and the caller that draws the agenda is the one place that can say it once per run.
Sourcepub fn dates_for(&self, task: &Task) -> ExcludedOccurrences
pub fn dates_for(&self, task: &Task) -> ExcludedOccurrences
Every occurrence task does not have: what it cancelled itself, and
what other entries of the run replace.
The one place that answers the question, and it answers it once per task: the day-by-day walk of a week or a month reads a set instead of re-reading properties on every cell.
Trait Implementations§
Source§impl Clone for OccurrenceExceptions
impl Clone for OccurrenceExceptions
Source§fn clone(&self) -> OccurrenceExceptions
fn clone(&self) -> OccurrenceExceptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more