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".