Skip to main content

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>(self, other: R) -> MergedTimeIndex<Self, R> where R: TimeIndexOps<'a, IndexType = Self::IndexType> { ... }
}

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>(self, other: R) -> MergedTimeIndex<Self, R>
where R: TimeIndexOps<'a, IndexType = Self::IndexType>,

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<'a, T> TimeIndexOps<'a> for &'a T
where T: TimeIndexOps<'a> + Clone,

Source§

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

Source§

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

Source§

fn active(&self, w: Range<<&'a T as TimeIndexOps<'a>>::IndexType>) -> bool

Source§

fn range( &self, w: Range<<&'a T as TimeIndexOps<'a>>::IndexType>, ) -> <&'a T as TimeIndexOps<'a>>::RangeType

Source§

fn iter( self, ) -> impl Iterator<Item = <&'a T as TimeIndexOps<'a>>::IndexType> + Send + Sync + 'a

Source§

fn iter_rev( self, ) -> impl Iterator<Item = <&'a T as TimeIndexOps<'a>>::IndexType> + Send + Sync + 'a

Source§

fn len(&self) -> usize

Implementors§

Source§

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

Source§

impl<'a, L, R> TimeIndexOps<'a> for MergedTimeIndex<L, R>
where L: TimeIndexOps<'a>, R: TimeIndexOps<'a, IndexType = <L as TimeIndexOps<'a>>::IndexType>,

Source§

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

Source§

impl<'b, T: AsTime, TI> TimeIndexOps<'b> for TimeIndexWindow<'b, T, TI>
where &'b TI: TimeIndexLike<'b, IndexType = T>, Self: 'b,