Skip to main content

TimeConvexIterator

Trait TimeConvexIterator 

Source
pub trait TimeConvexIterator: Iterator<Item = TimeInterval<Self::TimePoint>> + Sized {
    type TimePoint: TimePoint;
}
Expand description

An iterator over sorted and distinct time intervals

This trait specifies the type of the base temporal data (date or duration) and ensures that it exists an iterator over convex parts (time intervals) of the time window.

By contract, this iterator should produce its time intervals in a sorted manner. It means also that no time intervals overlap

Required Associated Types§

Source

type TimePoint: TimePoint

The type of the underlying time data.

This is also the type of the element managed by a time window. Typically, the timepoint is Timestamp when dealing with dates and TimeValue when dealing with durations.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<I, F> TimeConvexIterator for Inspect<I, F>
where I: TimeConvexIterator + Sized, F: FnMut(&I::Item),

Source§

impl<I, P> TimeConvexIterator for Filter<I, P>
where I: TimeConvexIterator + Sized, P: FnMut(&I::Item) -> bool,

Source§

impl<I, P> TimeConvexIterator for SkipWhile<I, P>
where I: TimeConvexIterator + Sized, P: FnMut(&I::Item) -> bool,

Source§

impl<I, P> TimeConvexIterator for TakeWhile<I, P>
where I: TimeConvexIterator + Sized, P: FnMut(&I::Item) -> bool,

Source§

impl<I> TimeConvexIterator for Peekable<I>

Source§

impl<I> TimeConvexIterator for Skip<I>

Source§

impl<I> TimeConvexIterator for StepBy<I>

Source§

impl<I> TimeConvexIterator for Take<I>

Source§

impl<T: TimePoint> TimeConvexIterator for IntoIter<TimeInterval<T>>

Implementors§