This eliminates the use of the naked "new" so that when the filters object is
destroyed, the filters are also freed.
This also eliminates a potential issue with binding an r-value reference to a
Range as a reference in IntervalFilterAllInRange.
Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
Replace in commands CmdAnnotate, CmdDefault, CmdContinue, CmdTag, and CmdUntag
Also in function domGet
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
A first-of interval filter is done when the first matching interval has been found.
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
An and-group interval filter accepts all intervals which are accepted by all filters in its group.
It is done, if one of the filters in its group is done.
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
Replace getTracked in commands CmdSummary, CmdChart, CmdExport, CmdFill,
CmdReport, CmdTags, and CmdContinue. Also in functions domGet and autoFill
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
An id-set interval filter accepts all intervals, which contain all ids of the given id set.
This filter is done when all ids have been found.
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
An all-in-range interval filter accepts all intervals which intersect with the given range.
This filter is done if it encounters an interval with an end datetime before its range's start datetime.
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
An all-with-tags interval filter accepts all intervals which contain all tags of the given tag set.
This filter is never done, i.e. it will consume all intervals from the stream.
Relates to #468
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
- Fix `--fail-at-end` option
- Collect errors and print report at end
- Make variable `tests` an array, add safeguards
- Combine cases
- Make variables `dates`, `hours`, `minutes` an array, add `pad_with_zero` function
- Execute test with specific 'runtime', so it picks up fake time
- Python scripts are then executed as `faketime <date> python3 <test>`
- Shell scripts as `faketime <date> bash <test>`
- Everything else as `faketime <date> <test>`
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
1) Remove AtomicFile::impl::find and use std::find_if directly.
2) Remove static functions that take a string for path. Allow the compiler to
construct the Path object as necessary.
Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
- Add documentation of `:all` hint
- Add `timew-hints` as `SEE ALSO` to `timew-ranges`
Related to #408
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>