pub struct IntervalSet<Bound: Width> { /* private fields */ }

Implementations§

source§

impl<Bound: Width> IntervalSet<Bound>

source

pub fn iter(&self) -> Iter<'_, Interval<Bound>>

source

pub fn iter_mut(&mut self) -> IterMut<'_, Interval<Bound>>

source§

impl<Bound> IntervalSet<Bound>
where Bound: Width + Num,

source

pub fn interval_count(&self) -> usize

Trait Implementations§

source§

impl<'a, 'b, Bound: Num + Width + Clone> Add<&'b Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: &Bound) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<'b, Bound: Num + Width + Clone> Add<&'b Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: &Bound) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<'a, 'b, Bound: Num + Width> Add<&'b IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<'b, Bound: Num + Width> Add<&'b IntervalSet<Bound>> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<'a, Bound: Num + Width + Clone> Add<Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: Bound) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<Bound: Num + Width + Clone> Add<Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: Bound) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<'a, Bound: Num + Width> Add<IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<Bound: Num + Width> Add for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the + operator.
source§

fn add(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the + operation. Read more
source§

impl<Bound> Bot for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn bot() -> IntervalSet<Bound>

source§

impl<Bound> Bounded for IntervalSet<Bound>
where Bound: Width + Num + PartialOrd,

source§

fn lower(&self) -> Bound

source§

fn upper(&self) -> Bound

source§

impl<Bound: Width + Num> Cardinality for IntervalSet<Bound>

IsSingleton and IsEmpty are defined automatically in gcollections.

§

type Size = <Bound as Width>::Output

source§

fn size(&self) -> <Bound as Width>::Output

source§

impl<Bound: Clone + Width> Clone for IntervalSet<Bound>
where Bound::Output: Clone,

source§

fn clone(&self) -> IntervalSet<Bound>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Bound: Width> Collection for IntervalSet<Bound>

§

type Item = Bound

source§

impl<Bound: Width + Num> Complement for IntervalSet<Bound>

source§

fn complement(&self) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Contains for IntervalSet<Bound>

source§

fn contains(&self, value: &Bound) -> bool

source§

impl<Bound: Debug + Width> Debug for IntervalSet<Bound>
where Bound::Output: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Bound> Difference<Bound> for IntervalSet<Bound>
where Bound: Width + Num + Clone,

§

type Output = IntervalSet<Bound>

source§

fn difference(&self, rhs: &Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Difference for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

source§

fn difference(&self, rhs: &IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Disjoint for IntervalSet<Bound>

source§

fn is_disjoint(&self, rhs: &IntervalSet<Bound>) -> bool

source§

impl<Bound: Display + Width + Num> Display for IntervalSet<Bound>
where <Bound as Width>::Output: Display,

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<Bound: Width + Num> Empty for IntervalSet<Bound>

source§

fn empty() -> IntervalSet<Bound>

source§

impl<Bound> Entailment for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn entail(&self, other: &IntervalSet<Bound>) -> SKleene

source§

impl<Bound> Extend<Interval<Bound>> for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn extend<I>(&mut self, iterable: I)
where I: IntoIterator<Item = Interval<Bound>>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl<Bound> Intersection<Bound> for IntervalSet<Bound>
where Bound: Width + Num + Clone,

§

type Output = IntervalSet<Bound>

source§

fn intersection(&self, rhs: &Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Intersection for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

source§

fn intersection(&self, rhs: &IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<'a, Bound: Width> IntoIterator for &'a IntervalSet<Bound>

§

type Item = &'a Interval<Bound>

The type of the elements being iterated over.
§

type IntoIter = Iter<'a, Interval<Bound>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<'a, Bound: Width> IntoIterator for &'a mut IntervalSet<Bound>

§

type Item = &'a mut Interval<Bound>

The type of the elements being iterated over.
§

type IntoIter = IterMut<'a, Interval<Bound>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<Bound: Width> IntoIterator for IntervalSet<Bound>

§

type Item = Interval<Bound>

The type of the elements being iterated over.
§

type IntoIter = IntoIter<<IntervalSet<Bound> as IntoIterator>::Item>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<Bound> Join for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn join(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<Bound> Meet for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn meet(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<'a, 'b, Bound: Num + Width + Clone> Mul<&'b Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: &Bound) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<'b, Bound: Num + Width + Clone> Mul<&'b Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: &Bound) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<'a, 'b, Bound: Num + Width> Mul<&'b IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<'b, Bound: Num + Width> Mul<&'b IntervalSet<Bound>> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<'a, Bound: Num + Width + Clone> Mul<Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: Bound) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<Bound: Num + Width + Clone> Mul<Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: Bound) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<'a, Bound: Num + Width> Mul<IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<Bound: Num + Width> Mul for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the * operator.
source§

fn mul(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the * operation. Read more
source§

impl<Bound: Width + Num> Overlap<Bound> for IntervalSet<Bound>

source§

fn overlap(&self, value: &Bound) -> bool

source§

impl Overlap<IntervalSet<i16>> for i16

source§

fn overlap(&self, other: &IntervalSet<i16>) -> bool

source§

impl Overlap<IntervalSet<i32>> for i32

source§

fn overlap(&self, other: &IntervalSet<i32>) -> bool

source§

impl Overlap<IntervalSet<i64>> for i64

source§

fn overlap(&self, other: &IntervalSet<i64>) -> bool

source§

impl Overlap<IntervalSet<i8>> for i8

source§

fn overlap(&self, other: &IntervalSet<i8>) -> bool

source§

impl Overlap<IntervalSet<isize>> for isize

source§

fn overlap(&self, other: &IntervalSet<isize>) -> bool

source§

impl Overlap<IntervalSet<u16>> for u16

source§

fn overlap(&self, other: &IntervalSet<u16>) -> bool

source§

impl Overlap<IntervalSet<u32>> for u32

source§

fn overlap(&self, other: &IntervalSet<u32>) -> bool

source§

impl Overlap<IntervalSet<u64>> for u64

source§

fn overlap(&self, other: &IntervalSet<u64>) -> bool

source§

impl Overlap<IntervalSet<u8>> for u8

source§

fn overlap(&self, other: &IntervalSet<u8>) -> bool

source§

impl Overlap<IntervalSet<usize>> for usize

source§

fn overlap(&self, other: &IntervalSet<usize>) -> bool

source§

impl<Bound: Width + Num> Overlap<Optional<Bound>> for IntervalSet<Bound>

source§

fn overlap(&self, value: &Optional<Bound>) -> bool

source§

impl<Bound: Width + Num> Overlap for IntervalSet<Bound>

source§

fn overlap(&self, rhs: &IntervalSet<Bound>) -> bool

source§

impl<Bound> PartialEq for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn eq(&self, other: &IntervalSet<Bound>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Bound: Width + Num> ProperSubset for IntervalSet<Bound>

source§

fn is_proper_subset(&self, other: &IntervalSet<Bound>) -> bool

source§

impl<Bound> Range for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn new(lb: Bound, ub: Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> ShrinkLeft for IntervalSet<Bound>
where <Bound as Width>::Output: Clone,

source§

fn shrink_left(&self, lb: Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> ShrinkRight for IntervalSet<Bound>
where <Bound as Width>::Output: Clone,

source§

fn shrink_right(&self, ub: Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Singleton for IntervalSet<Bound>

source§

fn singleton(x: Bound) -> IntervalSet<Bound>

source§

impl<'a, 'b, Bound: Num + Width + Clone> Sub<&'b Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: &Bound) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<'b, Bound: Num + Width + Clone> Sub<&'b Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: &Bound) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<'a, 'b, Bound: Num + Width> Sub<&'b IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<'b, Bound: Num + Width> Sub<&'b IntervalSet<Bound>> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: &IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<'a, Bound: Num + Width + Clone> Sub<Bound> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: Bound) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<Bound: Num + Width + Clone> Sub<Bound> for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: Bound) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<'a, Bound: Num + Width> Sub<IntervalSet<Bound>> for &'a IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<Bound: Num + Width> Sub for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

The resulting type after applying the - operator.
source§

fn sub(self, other: IntervalSet<Bound>) -> IntervalSet<Bound>

Performs the - operation. Read more
source§

impl<Bound: Width + Num> Subset for IntervalSet<Bound>

source§

fn is_subset(&self, other: &IntervalSet<Bound>) -> bool

source§

impl<Bound> SymmetricDifference<Bound> for IntervalSet<Bound>
where Bound: Width + Num + Clone,

§

type Output = IntervalSet<Bound>

source§

fn symmetric_difference(&self, rhs: &Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> SymmetricDifference for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

source§

fn symmetric_difference(&self, rhs: &IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<Bound> Top for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn top() -> IntervalSet<Bound>

source§

impl<Bound> Union<Bound> for IntervalSet<Bound>
where Bound: Width + Num + Clone,

§

type Output = IntervalSet<Bound>

source§

fn union(&self, rhs: &Bound) -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Union for IntervalSet<Bound>

§

type Output = IntervalSet<Bound>

source§

fn union(&self, rhs: &IntervalSet<Bound>) -> IntervalSet<Bound>

source§

impl<Bound> Whole for IntervalSet<Bound>
where Bound: Width + Num,

source§

fn whole() -> IntervalSet<Bound>

source§

impl<Bound: Width + Num> Eq for IntervalSet<Bound>

source§

impl<Bound: Width> IntervalKind for IntervalSet<Bound>

Auto Trait Implementations§

§

impl<Bound> RefUnwindSafe for IntervalSet<Bound>
where Bound: RefUnwindSafe, <Bound as Width>::Output: RefUnwindSafe,

§

impl<Bound> Send for IntervalSet<Bound>
where Bound: Send, <Bound as Width>::Output: Send,

§

impl<Bound> Sync for IntervalSet<Bound>
where Bound: Sync, <Bound as Width>::Output: Sync,

§

impl<Bound> Unpin for IntervalSet<Bound>
where Bound: Unpin, <Bound as Width>::Output: Unpin,

§

impl<Bound> UnwindSafe for IntervalSet<Bound>
where Bound: UnwindSafe, <Bound as Width>::Output: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<R> IsEmpty for R
where R: Cardinality,

source§

fn is_empty(&self) -> bool

source§

impl<R> IsSingleton for R
where R: Cardinality,

source§

impl<R> StrictEntailment for R
where R: Entailment + Eq,

source§

fn strict_entail(&self, other: &R) -> SKleene

Must be similar to a.entail(&b) && a != b.
source§

impl<B, R> StrictShrinkLeft for R
where R: ShrinkLeft<Item = B> + Empty + IntervalKind + Bounded, B: Integer + Bounded,

source§

fn strict_shrink_left(&self, lb: B) -> R

source§

impl<B, R> StrictShrinkRight for R
where R: ShrinkRight<Item = B> + Empty + IntervalKind + Bounded, B: Integer + Bounded,

source§

fn strict_shrink_right(&self, ub: B) -> R

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<R> BoundedLattice for R
where R: Lattice + Top + Bot,

source§

impl<R> Lattice for R
where R: Join + Meet + Entailment,