Struct intervals_rs::IntervalSeq[][src]

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

A structure that represents an interval sequence (a sequence of multiple Intervals).

Implementations

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

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

Add an interval element to this interval sequence.

  • value: an interval

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

Return whether the interval sequence are empty.

return: true if the interval sequence are empty

pub fn empty() -> Self[src]

Generate empty interval sequence.

  • return: IntervalSeq

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

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

Return 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]

Return 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]

Gets an iterator of this interval sequence.

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

Gets the len of this interval sequence.

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

Gets the interval in this interval sequence by index

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.