Struct regex_syntax::hir::interval::IntervalSet[][src]

pub struct IntervalSet<I> {
    ranges: Vec<I>,
}

Fields

Methods

impl<I: Interval> IntervalSet<I>
[src]

Create a new set from a sequence of intervals. Each interval is specified as a pair of bounds, where both bounds are inclusive.

The given ranges do not need to be in any specific order, and ranges may overlap.

Add a new interval to this set.

Important traits for IntervalSetIter<'a, I>

Return an iterator over all intervals in this set.

The iterator yields intervals in ascending order.

Important traits for &'a mut [u8]

Return an immutable slice of intervals in this set.

The sequence returned is in canonical ordering.

Expand this interval set such that it contains all case folded characters. For example, if this class consists of the range a-z, then applying case folding will result in the class containing both the ranges a-z and A-Z.

Union this set with the given set, in place.

Intersect this set with the given set, in place.

Subtract the given set from this set, in place.

Compute the symmetric difference of the two sets, in place.

This computes the symmetric difference of two interval sets. This removes all elements in this set that are also in the given set, but also adds all elements from the given set that aren't in this set. That is, the set will contain all elements in either set, but will not contain any elements that are in both sets.

Negate this interval set.

For all x where x is any element, if x was in this set, then it will not be in this set after negation.

Converts this set into a canonical ordering.

Returns true if and only if this class is in a canonical ordering.

Trait Implementations

impl<I: Clone> Clone for IntervalSet<I>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<I: Debug> Debug for IntervalSet<I>
[src]

Formats the value using the given formatter. Read more

impl<I: Eq> Eq for IntervalSet<I>
[src]

impl<I: PartialEq> PartialEq for IntervalSet<I>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<I> Send for IntervalSet<I> where
    I: Send

impl<I> Sync for IntervalSet<I> where
    I: Sync