Struct intervals_rs::IntervalSeq[][src]

pub struct IntervalSeq<T: Debug + Display + Clone + Hash + Eq + Ord + PartialEq + PartialOrd> { /* fields omitted */ }

Implementations

impl<T: Debug + Display + Clone + Hash + Eq + Ord + PartialEq + PartialOrd> IntervalSeq<T>[src]

pub fn append(&mut self, value: &Interval<T>)[src]

Add the Interval element to this IntervalSeq.

  • value: Interval

pub fn is_empty(&self) -> bool[src]

Returns whether the intervals elements are empty.

return: true if the intervals elements are empty

pub fn empty() -> Self[src]

Generates empty IntervalSeq.

  • return: IntervalSeq

pub fn new(values: &[Interval<T>]) -> Self[src]

pub fn extent(&self) -> Interval<T>[src]

Returns the smallest interval that encompasses all the element intervals.

  • return: the smallest interval that encompasses all the elemental intervals.
  • panic: if none of the elements are present

pub fn gap(&self) -> Self[src]

In the sorted intervals, return the intervals that are between adjacent intervals as the interval sequence.

If the number of intervals is less than two, an empty sequence of intervals is returned. If the intervals overlap or touch each other, the intervals are not included in the result element. If all the intervals overlap, an empty interval sequence is returned.

  • return: gap interval sequence

pub fn intersections(&self) -> Self[src]

Returns the sorted intervals where adjacent intervals overlap each other as an interval sequence.

If the number of intervals is less than two, an empty sequence of intervals is returned. If the intervals do not overlap or are tangent to each other, the intervals are not included in the result element. If all the intervals do not overlap, an empty interval sequence is returned.

  • return: common interval sequence

pub fn iter(&mut self) -> Iter<'_, Interval<T>>[src]

pub fn len(&self) -> usize[src]

pub fn get(&self, idx: usize) -> Option<&Interval<T>>[src]

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.