[−][src]Trait quote::ToTokens
Types that can be interpolated inside a quote! invocation.
Required Methods
fn to_tokens(&self, tokens: &mut TokenStream)
Write self to the given TokenStream.
The token append methods provided by the TokenStreamExt extension
trait may be useful for implementing ToTokens.
Example
Example implementation for a struct representing Rust paths like
std::cmp::PartialEq:
extern crate quote; use quote::{TokenStreamExt, ToTokens}; extern crate proc_macro2; use proc_macro2::{TokenTree, Spacing, Span, Punct, TokenStream}; pub struct Path { pub global: bool, pub segments: Vec<PathSegment>, } impl ToTokens for Path { fn to_tokens(&self, tokens: &mut TokenStream) { for (i, segment) in self.segments.iter().enumerate() { if i > 0 || self.global { // Double colon `::` tokens.append(Punct::new(':', Spacing::Joint)); tokens.append(Punct::new(':', Spacing::Alone)); } segment.to_tokens(tokens); } } }
Provided Methods
fn into_token_stream(self) -> TokenStream where
Self: Sized,
Self: Sized,
Convert self directly into a TokenStream object.
This method is implicitly implemented using to_tokens, and acts as a
convenience method for consumers of the ToTokens trait.
Implementations on Foreign Types
impl<'a, T: ?Sized + ToTokens> ToTokens for &'a T[src]
impl<'a, T: ?Sized + ToTokens> ToTokens for &'a Tfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl<'a, T: ?Sized + ToTokens> ToTokens for &'a mut T[src]
impl<'a, T: ?Sized + ToTokens> ToTokens for &'a mut Tfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl<'a, T: ?Sized + ToOwned + ToTokens> ToTokens for Cow<'a, T>[src]
impl<'a, T: ?Sized + ToOwned + ToTokens> ToTokens for Cow<'a, T>fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl<T: ?Sized + ToTokens> ToTokens for Box<T>[src]
impl<T: ?Sized + ToTokens> ToTokens for Box<T>fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl<T: ToTokens> ToTokens for Option<T>[src]
impl<T: ToTokens> ToTokens for Option<T>fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for str[src]
impl ToTokens for strfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for String[src]
impl ToTokens for Stringfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for i8[src]
impl ToTokens for i8fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for i16[src]
impl ToTokens for i16fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for i32[src]
impl ToTokens for i32fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for i64[src]
impl ToTokens for i64fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for isize[src]
impl ToTokens for isizefn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for u8[src]
impl ToTokens for u8fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for u16[src]
impl ToTokens for u16fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for u32[src]
impl ToTokens for u32fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for u64[src]
impl ToTokens for u64fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for usize[src]
impl ToTokens for usizefn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for f32[src]
impl ToTokens for f32fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for f64[src]
impl ToTokens for f64fn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for char[src]
impl ToTokens for charfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for bool[src]
impl ToTokens for boolfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for Group[src]
impl ToTokens for Groupfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for Ident[src]
impl ToTokens for Identfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for Punct[src]
impl ToTokens for Punctfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for Literal[src]
impl ToTokens for Literalfn to_tokens(&self, tokens: &mut TokenStream)[src]
fn to_tokens(&self, tokens: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for TokenTree[src]
impl ToTokens for TokenTreefn to_tokens(&self, dst: &mut TokenStream)[src]
fn to_tokens(&self, dst: &mut TokenStream)fn into_token_stream(self) -> TokenStream where
Self: Sized, [src]
fn into_token_stream(self) -> TokenStream where
Self: Sized, impl ToTokens for TokenStream[src]
impl ToTokens for TokenStreamfn to_tokens(&self, dst: &mut TokenStream)[src]
fn to_tokens(&self, dst: &mut TokenStream)fn into_token_stream(self) -> TokenStream[src]
fn into_token_stream(self) -> TokenStream