[][src]Struct scailist::Interval

pub struct Interval<T: Clone + Eq + Debug> {
    pub start: u32,
    pub end: u32,
    pub val: T,
}

Hold the start and stop of each sublist

Fields

start: u32end: u32val: T

Methods

impl<T: Clone + Eq + Debug> Interval<T>[src]

pub fn intersect(&self, other: &Self) -> u32[src]

Compute the intersect between two intervals

pub fn intersect_raw(&self, start: u32, end: u32) -> u32[src]

Internal version of intersect for working with IntervalNode / Interval

pub fn overlap(&self, start: u32, end: u32) -> bool[src]

Check if two intervals overlap

Trait Implementations

impl<T: Eq + Clone + Debug> Eq for Interval<T>[src]

impl<T: Clone + Eq + Debug> Clone for Interval<T>[src]

impl<T: Clone + Eq + Debug> PartialOrd<Interval<T>> for Interval<T>[src]

impl<T: Clone + Eq + Debug> PartialEq<Interval<T>> for Interval<T>[src]

impl<T: Clone + Eq + Debug> Ord for Interval<T>[src]

impl<T: Copy + Clone + Eq + Debug> Copy for Interval<T>[src]

impl<T: Debug + Clone + Eq> Debug for Interval<T>[src]

Auto Trait Implementations

impl<T> Send for Interval<T> where
    T: Send

impl<T> Unpin for Interval<T> where
    T: Unpin

impl<T> Sync for Interval<T> where
    T: Sync

impl<T> UnwindSafe for Interval<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for Interval<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]