Skip to main content

Pattern

Enum Pattern 

Source
pub enum Pattern<R = TextRange> {
    MatchValue(PatternMatchValue<R>),
    MatchSingleton(PatternMatchSingleton<R>),
    MatchSequence(PatternMatchSequence<R>),
    MatchMapping(PatternMatchMapping<R>),
    MatchClass(PatternMatchClass<R>),
    MatchStar(PatternMatchStar<R>),
    MatchAs(PatternMatchAs<R>),
    MatchOr(PatternMatchOr<R>),
}
Expand description

See also pattern

Variants§

§

MatchValue(PatternMatchValue<R>)

§

MatchSingleton(PatternMatchSingleton<R>)

§

MatchSequence(PatternMatchSequence<R>)

§

MatchMapping(PatternMatchMapping<R>)

§

MatchClass(PatternMatchClass<R>)

§

MatchStar(PatternMatchStar<R>)

§

MatchAs(PatternMatchAs<R>)

§

MatchOr(PatternMatchOr<R>)

Implementations§

Source§

impl<R> Pattern<R>

Source

pub const fn is_match_value(&self) -> bool

Returns true if self is of variant MatchValue.

Source

pub fn as_match_value(&self) -> Option<&PatternMatchValue<R>>

Returns Some if self is a reference of variant MatchValue, and None otherwise.

Source

pub fn as_mut_match_value(&mut self) -> Option<&mut PatternMatchValue<R>>

Returns Some if self is a mutable reference of variant MatchValue, and None otherwise.

Source

pub fn expect_match_value(self) -> PatternMatchValue<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchValue.

§Panics

Panics if the value is not MatchValue. In debug builds the panic message includes the content of self.

Source

pub fn match_value(self) -> Option<PatternMatchValue<R>>

Returns Some if self is of variant MatchValue, and None otherwise.

Source

pub const fn is_match_singleton(&self) -> bool

Returns true if self is of variant MatchSingleton.

Source

pub fn as_match_singleton(&self) -> Option<&PatternMatchSingleton<R>>

Returns Some if self is a reference of variant MatchSingleton, and None otherwise.

Source

pub fn as_mut_match_singleton( &mut self, ) -> Option<&mut PatternMatchSingleton<R>>

Returns Some if self is a mutable reference of variant MatchSingleton, and None otherwise.

Source

pub fn expect_match_singleton(self) -> PatternMatchSingleton<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchSingleton.

§Panics

Panics if the value is not MatchSingleton. In debug builds the panic message includes the content of self.

Source

pub fn match_singleton(self) -> Option<PatternMatchSingleton<R>>

Returns Some if self is of variant MatchSingleton, and None otherwise.

Source

pub const fn is_match_sequence(&self) -> bool

Returns true if self is of variant MatchSequence.

Source

pub fn as_match_sequence(&self) -> Option<&PatternMatchSequence<R>>

Returns Some if self is a reference of variant MatchSequence, and None otherwise.

Source

pub fn as_mut_match_sequence(&mut self) -> Option<&mut PatternMatchSequence<R>>

Returns Some if self is a mutable reference of variant MatchSequence, and None otherwise.

Source

pub fn expect_match_sequence(self) -> PatternMatchSequence<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchSequence.

§Panics

Panics if the value is not MatchSequence. In debug builds the panic message includes the content of self.

Source

pub fn match_sequence(self) -> Option<PatternMatchSequence<R>>

Returns Some if self is of variant MatchSequence, and None otherwise.

Source

pub const fn is_match_mapping(&self) -> bool

Returns true if self is of variant MatchMapping.

Source

pub fn as_match_mapping(&self) -> Option<&PatternMatchMapping<R>>

Returns Some if self is a reference of variant MatchMapping, and None otherwise.

Source

pub fn as_mut_match_mapping(&mut self) -> Option<&mut PatternMatchMapping<R>>

Returns Some if self is a mutable reference of variant MatchMapping, and None otherwise.

Source

pub fn expect_match_mapping(self) -> PatternMatchMapping<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchMapping.

§Panics

Panics if the value is not MatchMapping. In debug builds the panic message includes the content of self.

Source

pub fn match_mapping(self) -> Option<PatternMatchMapping<R>>

Returns Some if self is of variant MatchMapping, and None otherwise.

Source

pub const fn is_match_class(&self) -> bool

Returns true if self is of variant MatchClass.

Source

pub fn as_match_class(&self) -> Option<&PatternMatchClass<R>>

Returns Some if self is a reference of variant MatchClass, and None otherwise.

Source

pub fn as_mut_match_class(&mut self) -> Option<&mut PatternMatchClass<R>>

Returns Some if self is a mutable reference of variant MatchClass, and None otherwise.

Source

pub fn expect_match_class(self) -> PatternMatchClass<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchClass.

§Panics

Panics if the value is not MatchClass. In debug builds the panic message includes the content of self.

Source

pub fn match_class(self) -> Option<PatternMatchClass<R>>

Returns Some if self is of variant MatchClass, and None otherwise.

Source

pub const fn is_match_star(&self) -> bool

Returns true if self is of variant MatchStar.

Source

pub fn as_match_star(&self) -> Option<&PatternMatchStar<R>>

Returns Some if self is a reference of variant MatchStar, and None otherwise.

Source

pub fn as_mut_match_star(&mut self) -> Option<&mut PatternMatchStar<R>>

Returns Some if self is a mutable reference of variant MatchStar, and None otherwise.

Source

pub fn expect_match_star(self) -> PatternMatchStar<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchStar.

§Panics

Panics if the value is not MatchStar. In debug builds the panic message includes the content of self.

Source

pub fn match_star(self) -> Option<PatternMatchStar<R>>

Returns Some if self is of variant MatchStar, and None otherwise.

Source

pub const fn is_match_as(&self) -> bool

Returns true if self is of variant MatchAs.

Source

pub fn as_match_as(&self) -> Option<&PatternMatchAs<R>>

Returns Some if self is a reference of variant MatchAs, and None otherwise.

Source

pub fn as_mut_match_as(&mut self) -> Option<&mut PatternMatchAs<R>>

Returns Some if self is a mutable reference of variant MatchAs, and None otherwise.

Source

pub fn expect_match_as(self) -> PatternMatchAs<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchAs.

§Panics

Panics if the value is not MatchAs. In debug builds the panic message includes the content of self.

Source

pub fn match_as(self) -> Option<PatternMatchAs<R>>

Returns Some if self is of variant MatchAs, and None otherwise.

Source

pub const fn is_match_or(&self) -> bool

Returns true if self is of variant MatchOr.

Source

pub fn as_match_or(&self) -> Option<&PatternMatchOr<R>>

Returns Some if self is a reference of variant MatchOr, and None otherwise.

Source

pub fn as_mut_match_or(&mut self) -> Option<&mut PatternMatchOr<R>>

Returns Some if self is a mutable reference of variant MatchOr, and None otherwise.

Source

pub fn expect_match_or(self) -> PatternMatchOr<R>
where Self: Debug,

Unwraps the value, yielding the content of MatchOr.

§Panics

Panics if the value is not MatchOr. In debug builds the panic message includes the content of self.

Source

pub fn match_or(self) -> Option<PatternMatchOr<R>>

Returns Some if self is of variant MatchOr, and None otherwise.

Trait Implementations§

Source§

impl<R: Clone> Clone for Pattern<R>

Source§

fn clone(&self) -> Pattern<R>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<R: Debug> Debug for Pattern<R>

Source§

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

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

impl<T, U> Foldable<T, U> for Pattern<T>

Source§

type Mapped = Pattern<U>

Source§

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Source§

impl<R> From<Pattern<R>> for Ast<R>

Source§

fn from(node: Pattern<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchAs<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchAs<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchClass<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchClass<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchMapping<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchMapping<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchOr<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchOr<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchSequence<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchSequence<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchSingleton<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchSingleton<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchStar<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchStar<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> From<PatternMatchValue<R>> for Pattern<R>

Source§

fn from(payload: PatternMatchValue<R>) -> Self

Converts to this type from the input type.
Source§

impl<R> Node for Pattern<R>

Source§

const NAME: &'static str = "pattern"

Source§

const FIELD_NAMES: &'static [&'static str]

Source§

impl<R: PartialEq> PartialEq for Pattern<R>

Source§

fn eq(&self, other: &Pattern<R>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
§

impl Ranged for Pattern

§

fn range(&self) -> TextRange

Source§

fn start(&self) -> TextSize

Source§

fn end(&self) -> TextSize

Source§

impl<R: PartialEq> StructuralPartialEq for Pattern<R>

Auto Trait Implementations§

§

impl<R> Freeze for Pattern<R>

§

impl<R> RefUnwindSafe for Pattern<R>

§

impl<R> Send for Pattern<R>

§

impl<R> Sync for Pattern<R>

§

impl<R> Unpin for Pattern<R>

§

impl<R> UnsafeUnpin for Pattern<R>

§

impl<R> UnwindSafe for Pattern<R>

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

fn exact_from(value: T) -> U

Source§

impl<T, U> ExactInto<U> for T
where U: ExactFrom<T>,

Source§

fn exact_into(self) -> U

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> OverflowingInto<U> for T
where U: OverflowingFrom<T>,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> RoundingInto<U> for T
where U: RoundingFrom<T>,

Source§

impl<T, U> SaturatingInto<U> for T
where U: SaturatingFrom<T>,

Source§

impl<T> ToDebugString for T
where T: Debug,

Source§

fn to_debug_string(&self) -> String

Returns the String produced by Ts Debug implementation.

§Examples
use malachite_base::strings::ToDebugString;

assert_eq!([1, 2, 3].to_debug_string(), "[1, 2, 3]");
assert_eq!(
    [vec![2, 3], vec![], vec![4]].to_debug_string(),
    "[[2, 3], [], [4]]"
);
assert_eq!(Some(5).to_debug_string(), "Some(5)");
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T, U> WrappingInto<U> for T
where U: WrappingFrom<T>,

Source§

fn wrapping_into(self) -> U