regex_syntax::ast

Struct ClassSetUnion

Source
pub struct ClassSetUnion {
    pub span: Span,
    pub items: Vec<ClassSetItem>,
}
Expand description

A union of items inside a character class set.

Fields§

§span: Span

The span of the items in this operation. e.g., the a-z0-9 in [^a-z0-9]

§items: Vec<ClassSetItem>

The sequence of items that make up this union.

Implementations§

Source§

impl ClassSetUnion

Source

pub fn push(&mut self, item: ClassSetItem)

Push a new item in this union.

The ending position of this union’s span is updated to the ending position of the span of the item given. If the union is empty, then the starting position of this union is set to the starting position of this item.

In other words, if you only use this method to add items to a union and you set the spans on each item correctly, then you should never need to adjust the span of the union directly.

Source

pub fn into_item(self) -> ClassSetItem

Return this union as a character class set item.

If this union contains zero items, then an empty union is returned. If this concatenation contains exactly 1 item, then the corresponding item is returned. Otherwise, ClassSetItem::Union is returned.

Trait Implementations§

Source§

impl Clone for ClassSetUnion

Source§

fn clone(&self) -> ClassSetUnion

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 Debug for ClassSetUnion

Source§

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

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

impl PartialEq for ClassSetUnion

Source§

fn eq(&self, other: &ClassSetUnion) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ClassSetUnion

Source§

impl StructuralPartialEq for ClassSetUnion

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<T> ToOwned for T
where T: Clone,

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 72 bytes