pub trait Pattern<'a, Reference>where
Reference: Iterator,{
type Iter: Iterator;
type Dest;
// Required method
fn get_iter(&'a self) -> Self::Iter;
// Provided methods
fn get_dest_mut(&self) -> Option<RefMut<'_, Self::Dest>> { ... }
fn matches<'s, R>(&'a self, reference: &'s R) -> bool
where R: Iterable<'s, Iter = Reference> + 's,
Self::Dest: Destination<Reference::Item>,
Reference: PeekableExt,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item> { ... }
fn consume_with_dest(
&'a self,
reference_iter: &mut Reference,
dest: Option<&RefCell<Self::Dest>>,
) -> bool
where Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item> { ... }
fn consume(&'a self, reference_iter: &mut Reference) -> bool
where Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item> { ... }
}Expand description
A trait for pattern types that can match against a reference iterator.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn get_dest_mut(&self) -> Option<RefMut<'_, Self::Dest>>
fn get_dest_mut(&self) -> Option<RefMut<'_, Self::Dest>>
Get a mutable reference to the pattern’s internal destination, if any.
Sourcefn matches<'s, R>(&'a self, reference: &'s R) -> boolwhere
R: Iterable<'s, Iter = Reference> + 's,
Self::Dest: Destination<Reference::Item>,
Reference: PeekableExt,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
fn matches<'s, R>(&'a self, reference: &'s R) -> boolwhere
R: Iterable<'s, Iter = Reference> + 's,
Self::Dest: Destination<Reference::Item>,
Reference: PeekableExt,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
Match the pattern against the reference iterator.
Sourcefn consume_with_dest(
&'a self,
reference_iter: &mut Reference,
dest: Option<&RefCell<Self::Dest>>,
) -> boolwhere
Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
fn consume_with_dest(
&'a self,
reference_iter: &mut Reference,
dest: Option<&RefCell<Self::Dest>>,
) -> boolwhere
Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
Consume items from the reference iterator, optionally storing matched items in a destination.
Sourcefn consume(&'a self, reference_iter: &mut Reference) -> boolwhere
Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
fn consume(&'a self, reference_iter: &mut Reference) -> boolwhere
Reference: PeekableExt,
Self::Dest: Destination<Reference::Item>,
Reference::Item: Satisfies<<Self::Iter as Iterator>::Item>,
Consume items from the reference iterator.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.