pub struct Group { /* private fields */ }
Expand description
A delimited token stream.
A Group
internally contains a TokenStream
which is surrounded by
Delimiter
s.
Implementations§
source§impl Group
impl Group
sourcepub fn new(delimiter: Delimiter, stream: TokenStream) -> Group
pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group
Creates a new Group
with the given delimiter and token stream.
This constructor will set the span for this group to
Span::call_site()
. To change the span you can use the set_span
method below.
sourcepub fn delimiter(&self) -> Delimiter
pub fn delimiter(&self) -> Delimiter
Returns the punctuation used as the delimiter for this group: a set of parentheses, square brackets, or curly braces.
sourcepub fn stream(&self) -> TokenStream
pub fn stream(&self) -> TokenStream
Returns the TokenStream
of tokens that are delimited in this Group
.
Note that the returned token stream does not include the delimiter returned above.
sourcepub fn span(&self) -> Span
pub fn span(&self) -> Span
Returns the span for the delimiters of this token stream, spanning the
entire Group
.
pub fn span(&self) -> Span {
^^^^^^^
sourcepub fn span_open(&self) -> Span
pub fn span_open(&self) -> Span
Returns the span pointing to the opening delimiter of this group.
pub fn span_open(&self) -> Span {
^
sourcepub fn span_close(&self) -> Span
pub fn span_close(&self) -> Span
Returns the span pointing to the closing delimiter of this group.
pub fn span_close(&self) -> Span {
^
sourcepub fn delim_span(&self) -> DelimSpan
pub fn delim_span(&self) -> DelimSpan
Returns an object that holds this group’s span_open()
and
span_close()
together (in a more compact representation than holding
those 2 spans individually).
Trait Implementations§
source§impl Display for Group
impl Display for Group
Prints the group as a string that should be losslessly convertible back
into the same group (modulo spans), except for possibly TokenTree::Group
s
with Delimiter::None
delimiters.
source§impl ToTokens for Group
impl ToTokens for Group
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
impl Token for Group
Auto Trait Implementations§
impl Freeze for Group
impl RefUnwindSafe for Group
impl !Send for Group
impl !Sync for Group
impl Unpin for Group
impl UnwindSafe for Group
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.