Skip to main content

TimeIndexLike

Trait TimeIndexLike 

Source
pub trait TimeIndexLike<'a>: TimeIndexOps<'a> {
    // Required methods
    fn range_iter(
        self,
        w: Range<Self::IndexType>,
    ) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a;
    fn range_iter_rev(
        self,
        w: Range<Self::IndexType>,
    ) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a;
    fn range_count(&self, w: Range<Self::IndexType>) -> usize;

    // Provided methods
    fn first_range(&self, w: Range<Self::IndexType>) -> Option<Self::IndexType> { ... }
    fn last_range(&self, w: Range<Self::IndexType>) -> Option<Self::IndexType> { ... }
}

Required Methods§

Source

fn range_iter( self, w: Range<Self::IndexType>, ) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source

fn range_iter_rev( self, w: Range<Self::IndexType>, ) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source

fn range_count(&self, w: Range<Self::IndexType>) -> usize

Provided Methods§

Source

fn first_range(&self, w: Range<Self::IndexType>) -> Option<Self::IndexType>

Source

fn last_range(&self, w: Range<Self::IndexType>) -> Option<Self::IndexType>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a> TimeIndexLike<'a> for &'a NodeTimestamps

Source§

impl<'a, A: Send + Sync> TimeIndexLike<'a> for &'a TCell<A>

Source§

impl<'a, T: AsTime> TimeIndexLike<'a> for &'a TimeIndex<T>