Trait rta_for_fps_lib::iterators::CurveIterator[][src]

pub trait CurveIterator: Debug {
    type CurveKind: CurveType;
    fn next_window(
        &mut self
    ) -> Option<Window<<Self::CurveKind as CurveType>::WindowKind>>; fn collect_curve<R: FromCurveIterator<Self::CurveKind>>(self) -> R
    where
        Self: Sized
, { ... }
fn reclassify<O>(self) -> ReclassifyIterator<Self, O>
    where
        Self: Sized
, { ... }
fn normalize(
        self
    ) -> JoinAdjacentIterator<CurveIteratorIterator<Self>, <Self::CurveKind as CurveType>::WindowKind, Self::CurveKind>
    where
        Self: Sized
, { ... }
fn take_while_curve<F>(
        self,
        fun: F
    ) -> TakeWhile<CurveIteratorIterator<Self>, F>
    where
        Self: Sized,
        F: for<'a> FnMut(&'a Window<<Self::CurveKind as CurveType>::WindowKind>) -> bool
, { ... }
fn fuse_curve(self) -> Fuse<CurveIteratorIterator<Self>>
    where
        Self: Sized
, { ... }
fn into_iterator(self) -> CurveIteratorIterator<Self>

Notable traits for CurveIteratorIterator<I>

impl<I> Iterator for CurveIteratorIterator<I> where
    I: CurveIterator
type Item = Window<<I::CurveKind as CurveType>::WindowKind>;

    where
        Self: Sized
, { ... } }
Expand description

Trait representing an Iterator that has almost the guarantees of a curve:

  1. Windows ordered by start
  2. Windows non-overlapping or adjacent (this differs from Curves as it allows adjacent windows)
  3. Windows non-empty

Or in other words all finite prefixes of the Iterator are a valid Curves

Associated Types

The type of the curve being iterated

Required methods

calculate and returns the next window of the curve iterator advancing the iterator in the process

Provided methods

collect the iterator mirroring core::iter::Iterator::collect

reclassify a CurveIterator

normalize the CurveIterator by combining adjacent windows

Basically core::iter::Iterator::take_while but for CurveIterator

Basically core::iter::Iterator::fuse but for CurveIterator

Wrap the CurveIterator to allow usage of standart Iterator adapters

Implementations on Foreign Types

Implementors