TimeIndexOps

Trait TimeIndexOps 

Source
pub trait TimeIndexOps<'a>:
    Sized
    + Clone
    + Send
    + Sync
    + 'a {
    type IndexType: AsTime;
    type RangeType: TimeIndexOps<'a, IndexType = Self::IndexType> + 'a;

Show 15 methods // Required methods fn active(&self, w: Range<Self::IndexType>) -> bool; fn range(&self, w: Range<Self::IndexType>) -> Self::RangeType; fn iter(self) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a; fn iter_rev( self, ) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a; fn len(&self) -> usize; // Provided methods fn active_t(&self, w: Range<i64>) -> bool { ... } fn range_t(&self, w: Range<i64>) -> Self::RangeType { ... } fn first_t(&self) -> Option<i64> { ... } fn first(&self) -> Option<Self::IndexType> { ... } fn last_t(&self) -> Option<i64> { ... } fn last(&self) -> Option<Self::IndexType> { ... } fn iter_t(self) -> impl Iterator<Item = i64> + Send + Sync + 'a { ... } fn iter_rev_t(self) -> impl Iterator<Item = i64> + Send + Sync + 'a { ... } fn is_empty(&self) -> bool { ... } fn merge<R: TimeIndexOps<'a, IndexType = Self::IndexType>>( self, other: R, ) -> MergedTimeIndex<Self, R> { ... }
}

Required Associated Types§

Source

type IndexType: AsTime

Source

type RangeType: TimeIndexOps<'a, IndexType = Self::IndexType> + 'a

Required Methods§

Source

fn active(&self, w: Range<Self::IndexType>) -> bool

Source

fn range(&self, w: Range<Self::IndexType>) -> Self::RangeType

Source

fn iter(self) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source

fn iter_rev(self) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source

fn len(&self) -> usize

Provided Methods§

Source

fn active_t(&self, w: Range<i64>) -> bool

Source

fn range_t(&self, w: Range<i64>) -> Self::RangeType

Source

fn first_t(&self) -> Option<i64>

Source

fn first(&self) -> Option<Self::IndexType>

Source

fn last_t(&self) -> Option<i64>

Source

fn last(&self) -> Option<Self::IndexType>

Source

fn iter_t(self) -> impl Iterator<Item = i64> + Send + Sync + 'a

Source

fn iter_rev_t(self) -> impl Iterator<Item = i64> + Send + Sync + 'a

Source

fn is_empty(&self) -> bool

Source

fn merge<R: TimeIndexOps<'a, IndexType = Self::IndexType>>( self, other: R, ) -> MergedTimeIndex<Self, R>

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.

Implementations on Foreign Types§

Source§

impl<'a, T: TimeIndexOps<'a> + Clone> TimeIndexOps<'a> for &'a T

Source§

type IndexType = <T as TimeIndexOps<'a>>::IndexType

Source§

type RangeType = <T as TimeIndexOps<'a>>::RangeType

Source§

fn active(&self, w: Range<Self::IndexType>) -> bool

Source§

fn range(&self, w: Range<Self::IndexType>) -> Self::RangeType

Source§

fn iter(self) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source§

fn iter_rev(self) -> impl Iterator<Item = Self::IndexType> + Send + Sync + 'a

Source§

fn len(&self) -> usize

Implementors§