pub struct Cursor<'a> { /* private fields */ }
Expand description
A cheaply copyable cursor into a TokenBuffer
.
This cursor holds a shared reference into the immutable data which is used
internally to represent a TokenStream
, and can be efficiently manipulated
and copied around.
An empty Cursor
can be created directly, or one may create a TokenBuffer
object and get a cursor to its first token with begin()
.
Implementations§
source§impl<'a> Cursor<'a>
impl<'a> Cursor<'a>
sourcepub fn eof(self) -> bool
pub fn eof(self) -> bool
Checks whether the cursor is currently pointing at the end of its valid scope.
sourcepub fn group(
self,
delim: Delimiter
) -> Option<(Cursor<'a>, DelimSpan, Cursor<'a>)>
pub fn group(
self,
delim: Delimiter
) -> Option<(Cursor<'a>, DelimSpan, Cursor<'a>)>
If the cursor is pointing at a Group
with the given delimiter, returns
a cursor into that group and one pointing to the next TokenTree
.
sourcepub fn ident(self) -> Option<(Ident, Cursor<'a>)>
pub fn ident(self) -> Option<(Ident, Cursor<'a>)>
If the cursor is pointing at a Ident
, returns it along with a cursor
pointing at the next TokenTree
.
sourcepub fn punct(self) -> Option<(Punct, Cursor<'a>)>
pub fn punct(self) -> Option<(Punct, Cursor<'a>)>
If the cursor is pointing at a Punct
, returns it along with a cursor
pointing at the next TokenTree
.
sourcepub fn literal(self) -> Option<(Literal, Cursor<'a>)>
pub fn literal(self) -> Option<(Literal, Cursor<'a>)>
If the cursor is pointing at a Literal
, return it along with a cursor
pointing at the next TokenTree
.
sourcepub fn lifetime(self) -> Option<(Lifetime, Cursor<'a>)>
pub fn lifetime(self) -> Option<(Lifetime, Cursor<'a>)>
If the cursor is pointing at a Lifetime
, returns it along with a
cursor pointing at the next TokenTree
.
sourcepub fn token_stream(self) -> TokenStream
pub fn token_stream(self) -> TokenStream
Copies all remaining tokens visible from this cursor into a
TokenStream
.
sourcepub fn token_tree(self) -> Option<(TokenTree, Cursor<'a>)>
pub fn token_tree(self) -> Option<(TokenTree, Cursor<'a>)>
If the cursor is pointing at a TokenTree
, returns it along with a
cursor pointing at the next TokenTree
.
Returns None
if the cursor has reached the end of its stream.
This method does not treat None
-delimited groups as transparent, and
will return a Group(None, ..)
if the cursor is looking at one.
Trait Implementations§
source§impl<'a> PartialEq<Cursor<'a>> for Cursor<'a>
impl<'a> PartialEq<Cursor<'a>> for Cursor<'a>
source§impl<'a> PartialOrd<Cursor<'a>> for Cursor<'a>
impl<'a> PartialOrd<Cursor<'a>> for Cursor<'a>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more