[][src]Struct cfg_regex::ClassUnicode

pub struct ClassUnicode { /* fields omitted */ }

A set of characters represented by Unicode scalar values.

Methods

impl ClassUnicode[src]

pub fn new<I>(ranges: I) -> ClassUnicode where
    I: IntoIterator<Item = ClassUnicodeRange>, 
[src]

Create a new class from a sequence of ranges.

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

pub fn empty() -> ClassUnicode[src]

Create a new class with no ranges.

pub fn push(&mut self, range: ClassUnicodeRange)[src]

Add a new range to this set.

pub fn iter(&self) -> ClassUnicodeIter[src]

Return an iterator over all ranges in this class.

The iterator yields ranges in ascending order.

pub fn ranges(&self) -> &[ClassUnicodeRange][src]

Return the underlying ranges as a slice.

pub fn case_fold_simple(&mut self)[src]

Expand this character class such that it contains all case folded characters, according to Unicode's "simple" mapping. 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.

Panics

This routine panics when the case mapping data necessary for this routine to complete is unavailable. This occurs when the unicode-case feature is not enabled.

Callers should prefer using try_case_fold_simple instead, which will return an error instead of panicking.

pub fn try_case_fold_simple(&mut self) -> Result<(), CaseFoldError>[src]

Expand this character class such that it contains all case folded characters, according to Unicode's "simple" mapping. 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.

Panics

This routine panics when the case mapping data necessary for this routine to complete is unavailable. This occurs when the unicode-case feature is not enabled.

Callers should prefer using try_case_fold_simple instead, which will return an error instead of panicking.

pub fn negate(&mut self)[src]

Negate this character class.

For all c where c is a Unicode scalar value, if c was in this set, then it will not be in this set after negation.

pub fn union(&mut self, other: &ClassUnicode)[src]

Union this character class with the given character class, in place.

pub fn intersect(&mut self, other: &ClassUnicode)[src]

Intersect this character class with the given character class, in place.

pub fn difference(&mut self, other: &ClassUnicode)[src]

Subtract the given character class from this character class, in place.

pub fn symmetric_difference(&mut self, other: &ClassUnicode)[src]

Compute the symmetric difference of the given character classes, in place.

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

Trait Implementations

impl PartialEq<ClassUnicode> for ClassUnicode[src]

impl Clone for ClassUnicode[src]

impl Eq for ClassUnicode[src]

impl Debug for ClassUnicode[src]

Auto Trait Implementations

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]