pub struct Group { /* private fields */ }Expand description
A delimited token stream.
A Group internally contains a TokenStream which is surrounded by
Delimiters.
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
Prints the group as a string that should be losslessly convertible back
into the same group (modulo spans), except for possibly TokenTree::Groups
with Delimiter::None delimiters.
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::Groups
with Delimiter::None delimiters.
Source§impl From<BraceGroup> for Group
impl From<BraceGroup> for Group
Source§fn from(group: BraceGroup) -> Group
fn from(group: BraceGroup) -> Group
Source§impl From<BracketGroup> for Group
impl From<BracketGroup> for Group
Source§fn from(group: BracketGroup) -> Group
fn from(group: BracketGroup) -> Group
Source§impl From<ParenthesisGroup> for Group
impl From<ParenthesisGroup> for Group
Source§fn from(group: ParenthesisGroup) -> Group
fn from(group: ParenthesisGroup) -> Group
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 into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
fn into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
self into a TokenIter object.Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
&self into a TokenStream object.Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
self into a TokenStream object.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,
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§impl<T> DynamicTokens for T
impl<T> DynamicTokens for T
Source§impl<T> Parse for Twhere
T: Parser,
impl<T> Parse for Twhere
T: Parser,
Source§fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
parser() within a
transaction. Commits changes on success and returns the parsed value. Read more