Struct proc_macro::Group

1.29.0 · source ·
pub struct Group(_);
Expand description

分隔的 token 流。

Group 内部包含一个 TokenStream,该 TokenStreamDelimiter 包围。

Implementations§

source§

impl Group

source

pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group

使用给定的定界符和 token 流创建一个新的 Group

此构造函数将将此组的跨度设置为 Span::call_site()。 要更改跨度,可以使用下面的 set_span 方法。

source

pub fn delimiter(&self) -> Delimiter

返回此 Group 的定界符

source

pub fn stream(&self) -> TokenStream

返回在此 Group 中定界的 tokens 的 TokenStream

请注意,返回的 token 流不包括上面返回的定界符。

source

pub fn span(&self) -> Span

返回此 token 流的定界符的范围,该范围跨越整个 Group

pub fn span(&self) -> Span {
           ^^^^^^^
1.55.0 · source

pub fn span_open(&self) -> Span

返回指向该组的开始定界符的跨度。

pub fn span_open(&self) -> Span {
                ^
1.55.0 · source

pub fn span_close(&self) -> Span

返回指向该组的结束定界符的跨度。

pub fn span_close(&self) -> Span {
                       ^
source

pub fn set_span(&mut self, span: Span)

配置此 Group 定界符的范围,但不配置其内部 tokens 的范围。

此方法将不设置该组所跨越的所有内部 tokens 的跨度,而只会将定界符 tokens 的跨度设置为 Group 的水平。

Trait Implementations§

source§

impl Clone for Group

source§

fn clone(&self) -> Group

返回值的副本。 Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

source 执行复制分配。 Read more
source§

impl Debug for Group

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化该值。 Read more
source§

impl Display for Group

将组打印为字符串,该字符串应无损地转换回同一组 (模跨度),但可能带有 Delimiter::None 分隔符的 ‘TokenTree::Group’ 除外。

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化该值。 Read more
source§

impl From<Group> for TokenTree

source§

fn from(g: Group) -> TokenTree

从输入类型转换为此类型。
1.15.0 · source§

impl ToString for Group

source§

fn to_string(&self) -> String

将给定值转换为 StringRead more
source§

impl !Send for Group

source§

impl !Sync for Group

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

获取 selfTypeIdRead more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

从拥有的值中一成不变地借用。 Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

从拥有的值中借用。 Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

返回未更改的参数。

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

调用 U::from(self)

也就是说,这种转换是 From<T> for U 实现选择执行的任何操作。

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

获得所有权后的结果类型。
source§

fn to_owned(&self) -> T

从借用的数据创建拥有的数据,通常是通过克隆。 Read more
source§

fn clone_into(&self, target: &mut T)

使用借来的数据来替换拥有的数据,通常是通过克隆。 Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

将给定值转换为 StringRead more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

发生转换错误时返回的类型。
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

发生转换错误时返回的类型。
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。