pub struct QueryMatches<'query, 'tree: 'query, Query: Query + 'tree, Text: TextProvider<I>, I: AsRef<[u8]>> { /* private fields */ }Expand description
Iterate a typed query’s matches (see tree-sitter’s QueryMatches).
QueryMatches (in both this crate and tree-sitter) is NOT a real iterator, it’s a
StreamingIterator (see https://github.com/tree-sitter/tree-sitter/issues/608).
Therefore this doesn’t implement Iterator.
Implementations§
Source§impl<'query, 'tree: 'query, Query: Query + 'tree, Text: TextProvider<I>, I: AsRef<[u8]>> QueryMatches<'query, 'tree, Query, Text, I>
impl<'query, 'tree: 'query, Query: Query + 'tree, Text: TextProvider<I>, I: AsRef<[u8]>> QueryMatches<'query, 'tree, Query, Text, I>
Sourcepub fn set_byte_range(&mut self, range: Range<usize>)
pub fn set_byte_range(&mut self, range: Range<usize>)
Limit matches to a byte range
Sourcepub fn set_point_range(&mut self, range: Range<Point>)
pub fn set_point_range(&mut self, range: Range<Point>)
Limit matches to a point range
Trait Implementations§
Source§impl<'query, 'tree: 'query, Query: Query + 'tree, Text: TextProvider<I>, I: AsRef<[u8]>> StreamingIterator for QueryMatches<'query, 'tree, Query, Text, I>
Available on non-crate feature yak-sitter only.
impl<'query, 'tree: 'query, Query: Query + 'tree, Text: TextProvider<I>, I: AsRef<[u8]>> StreamingIterator for QueryMatches<'query, 'tree, Query, Text, I>
Available on non-crate feature
yak-sitter only.Source§type Item = <Query as Query>::Match<'query, 'tree>
type Item = <Query as Query>::Match<'query, 'tree>
The type of the elements being iterated over.
Source§fn get(&self) -> Option<&Self::Item>
fn get(&self) -> Option<&Self::Item>
Returns a reference to the current element of the iterator. Read more
Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator.
Source§fn next(&mut self) -> Option<&Self::Item>
fn next(&mut self) -> Option<&Self::Item>
Advances the iterator and returns the next value. Read more
Source§fn all<F>(&mut self, f: F) -> bool
fn all<F>(&mut self, f: F) -> bool
Determines if all elements of the iterator satisfy a predicate.
Source§fn any<F>(&mut self, f: F) -> bool
fn any<F>(&mut self, f: F) -> bool
Determines if any elements of the iterator satisfy a predicate.
Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Borrows an iterator, rather than consuming it. Read more
Source§fn chain<I>(self, other: I) -> Chain<Self, I>
fn chain<I>(self, other: I) -> Chain<Self, I>
Consumes two iterators and returns a new iterator that iterates over both in sequence.
Source§fn cloned(self) -> Cloned<Self>
fn cloned(self) -> Cloned<Self>
Produces a normal, non-streaming, iterator by cloning the elements of this iterator.
Source§fn copied(self) -> Copied<Self>
fn copied(self) -> Copied<Self>
Produces a normal, non-streaming, iterator by copying the elements of this iterator.
Source§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
Consumes the iterator, counting the number of remaining elements and returning it.
Source§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Creates an iterator which uses a closure to determine if an element should be yielded.
Source§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, B, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, B, F>
Creates an iterator which both filters and maps by applying a closure to elements.
Source§fn flat_map<J, F>(self, f: F) -> FlatMap<Self, J, F>
fn flat_map<J, F>(self, f: F) -> FlatMap<Self, J, F>
Creates an iterator which flattens iterators obtained by applying a closure to elements.
Note that the returned iterators must be streaming iterators.
Source§fn filter_map_deref<B, F>(self, f: F) -> FilterMapDeref<Self, F>
fn filter_map_deref<B, F>(self, f: F) -> FilterMapDeref<Self, F>
Creates a regular, non-streaming iterator which both filters and maps by applying a closure to elements.
Source§fn find<F>(&mut self, f: F) -> Option<&Self::Item>
fn find<F>(&mut self, f: F) -> Option<&Self::Item>
Returns the first element of the iterator that satisfies the predicate.
Source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Creates an iterator which is “well behaved” at the beginning and end of iteration. Read more
Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Call a closure on each element, passing the element on.
The closure is called upon calls to
advance or advance_back, and exactly once per element
regardless of how many times (if any) get is called.Source§fn map<B, F>(self, f: F) -> Map<Self, B, F>
fn map<B, F>(self, f: F) -> Map<Self, B, F>
Creates an iterator which transforms elements of this iterator by passing them to a closure.
Source§fn map_deref<B, F>(self, f: F) -> MapDeref<Self, F>
fn map_deref<B, F>(self, f: F) -> MapDeref<Self, F>
Creates a regular, non-streaming iterator which transforms elements of this iterator by passing them to a closure.
Source§fn map_ref<B, F>(self, f: F) -> MapRef<Self, F>
fn map_ref<B, F>(self, f: F) -> MapRef<Self, F>
Creates an iterator which transforms elements of this iterator by passing them to a closure. Read more
Source§fn nth(&mut self, n: usize) -> Option<&Self::Item>
fn nth(&mut self, n: usize) -> Option<&Self::Item>
Consumes the first
n elements of the iterator, returning the next one.Source§fn position<F>(&mut self, f: F) -> Option<usize>
fn position<F>(&mut self, f: F) -> Option<usize>
Returns the index of the first element of the iterator matching a predicate.
Source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates an iterator which skips the first
n elements.Source§fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
Creates an iterator that skips initial elements matching a predicate.
Source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates an iterator which only returns the first
n elements.Source§fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
Creates an iterator which only returns initial elements matching a predicate.
Auto Trait Implementations§
impl<'query, 'tree, Query, Text, I> Freeze for QueryMatches<'query, 'tree, Query, Text, I>where
Text: Freeze,
impl<'query, 'tree, Query, Text, I> RefUnwindSafe for QueryMatches<'query, 'tree, Query, Text, I>where
Query: RefUnwindSafe,
Text: RefUnwindSafe,
<Query as Query>::Match<'query, 'tree>: RefUnwindSafe,
I: RefUnwindSafe,
impl<'query, 'tree, Query, Text, I> !Send for QueryMatches<'query, 'tree, Query, Text, I>
impl<'query, 'tree, Query, Text, I> !Sync for QueryMatches<'query, 'tree, Query, Text, I>
impl<'query, 'tree, Query, Text, I> Unpin for QueryMatches<'query, 'tree, Query, Text, I>
impl<'query, 'tree, Query, Text, I> UnwindSafe for QueryMatches<'query, 'tree, Query, Text, I>where
Query: RefUnwindSafe,
Text: UnwindSafe,
<Query as Query>::Match<'query, 'tree>: RefUnwindSafe,
I: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more