Skip to main content

PatternRef

Enum PatternRef 

Source
pub enum PatternRef<'a> {
    MatchValue(&'a PatternMatchValue),
    MatchSingleton(&'a PatternMatchSingleton),
    MatchSequence(&'a PatternMatchSequence),
    MatchMapping(&'a PatternMatchMapping),
    MatchClass(&'a PatternMatchClass),
    MatchStar(&'a PatternMatchStar),
    MatchAs(&'a PatternMatchAs),
    MatchOr(&'a PatternMatchOr),
}
Expand description

See also pattern

Variants§

§

MatchValue(&'a PatternMatchValue)

§

MatchSingleton(&'a PatternMatchSingleton)

§

MatchSequence(&'a PatternMatchSequence)

§

MatchMapping(&'a PatternMatchMapping)

§

MatchClass(&'a PatternMatchClass)

§

MatchStar(&'a PatternMatchStar)

§

MatchAs(&'a PatternMatchAs)

§

MatchOr(&'a PatternMatchOr)

Implementations§

Source§

impl<'a> PatternRef<'a>

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<&&'a PatternMatchValue>

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

Source

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

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

Source

pub fn expect_match_value(self) -> &'a PatternMatchValue
where PatternRef<'a>: 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<&'a PatternMatchValue>

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<&&'a PatternMatchSingleton>

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

Source

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

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

Source

pub fn expect_match_singleton(self) -> &'a PatternMatchSingleton
where PatternRef<'a>: 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<&'a PatternMatchSingleton>

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<&&'a PatternMatchSequence>

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

Source

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

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

Source

pub fn expect_match_sequence(self) -> &'a PatternMatchSequence
where PatternRef<'a>: 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<&'a PatternMatchSequence>

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<&&'a PatternMatchMapping>

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

Source

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

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

Source

pub fn expect_match_mapping(self) -> &'a PatternMatchMapping
where PatternRef<'a>: 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<&'a PatternMatchMapping>

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<&&'a PatternMatchClass>

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

Source

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

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

Source

pub fn expect_match_class(self) -> &'a PatternMatchClass
where PatternRef<'a>: 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<&'a PatternMatchClass>

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<&&'a PatternMatchStar>

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

Source

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

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

Source

pub fn expect_match_star(self) -> &'a PatternMatchStar
where PatternRef<'a>: 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<&'a PatternMatchStar>

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<&&'a PatternMatchAs>

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

Source

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

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

Source

pub fn expect_match_as(self) -> &'a PatternMatchAs
where PatternRef<'a>: 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<&'a PatternMatchAs>

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<&&'a PatternMatchOr>

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

Source

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

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

Source

pub fn expect_match_or(self) -> &'a PatternMatchOr
where PatternRef<'a>: 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<&'a PatternMatchOr>

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

Trait Implementations§

Source§

impl<'a> Clone for PatternRef<'a>

Source§

fn clone(&self) -> PatternRef<'a>

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<'a> Copy for PatternRef<'a>

Source§

impl<'a> Debug for PatternRef<'a>

Source§

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

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

impl<'a> From<&'a Pattern> for PatternRef<'a>

Source§

fn from(node: &'a Pattern) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchAs> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchAs) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchClass> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchClass) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchMapping> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchMapping) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchOr> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchOr) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchSequence> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchSequence) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchSingleton> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchSingleton) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchStar> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchStar) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<&'a PatternMatchValue> for PatternRef<'a>

Source§

fn from(node: &'a PatternMatchValue) -> PatternRef<'a>

Converts to this type from the input type.
Source§

impl<'a> From<PatternRef<'a>> for AnyNodeRef<'a>

Source§

fn from(node: PatternRef<'a>) -> AnyNodeRef<'a>

Converts to this type from the input type.
Source§

impl<'a> GetSize for PatternRef<'a>

Source§

fn get_heap_size(&self) -> usize

Determines how many bytes this object occupies inside the heap. Read more
Source§

fn get_heap_size_with_tracker<TRACKER>( &self, tracker: TRACKER, ) -> (usize, TRACKER)
where TRACKER: GetSizeTracker,

Determines how many bytes this object occupies inside the heap while using a tracker. Read more
Source§

fn get_stack_size() -> usize

Determines how may bytes this object occupies inside the stack. Read more
Source§

fn get_size(&self) -> usize

Determines the total size of the object. Read more
Source§

fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)
where T: GetSizeTracker,

Determines the total size of the object while using a tracker. Read more
Source§

impl HasNodeIndex for PatternRef<'_>

Source§

fn node_index(&self) -> &AtomicNodeIndex

Returns the AtomicNodeIndex for this node.
Source§

impl<'a> PartialEq for PatternRef<'a>

Source§

fn eq(&self, other: &PatternRef<'a>) -> bool

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

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

Inequality operator !=. Read more
Source§

impl Ranged for PatternRef<'_>

Source§

fn range(&self) -> TextRange

The range of this item in the source text.
Source§

fn start(&self) -> TextSize

The start offset of this item in the source text.
Source§

fn end(&self) -> TextSize

The end offset of this item in the source text.
Source§

impl<'a> StructuralPartialEq for PatternRef<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for PatternRef<'a>

§

impl<'a> RefUnwindSafe for PatternRef<'a>

§

impl<'a> Send for PatternRef<'a>

§

impl<'a> Sync for PatternRef<'a>

§

impl<'a> Unpin for PatternRef<'a>

§

impl<'a> UnsafeUnpin for PatternRef<'a>

§

impl<'a> UnwindSafe for PatternRef<'a>

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> ErasedDestructor for T
where T: 'static,

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

Source§

impl<T, U> ImaginaryInto<U> for T
where U: ImaginaryFrom<T>,

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

Source§

impl<T> PrimitiveSignedRandomBounds for T

Source§

impl<T> PyThreadingConstraint for 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