[−][src]Trait quote::TokenStreamExt
TokenStream extension trait with methods for appending tokens.
This trait is sealed and cannot be implemented outside of the quote crate.
Required Methods
fn append<U>(&mut self, token: U) where
U: Into<TokenTree>,
U: Into<TokenTree>,
For use by ToTokens implementations.
Appends the token specified to this list of tokens.
fn append_all<T, I>(&mut self, iter: I) where
T: ToTokens,
I: IntoIterator<Item = T>,
T: ToTokens,
I: IntoIterator<Item = T>,
For use by ToTokens implementations.
# use quote::{quote, TokenStreamExt, ToTokens};
# use proc_macro2::TokenStream;
#
struct X;
impl ToTokens for X {
fn to_tokens(&self, tokens: &mut TokenStream) {
tokens.append_all(&[true, false]);
}
}
let tokens = quote!(#X);
assert_eq!(tokens.to_string(), "true false");
fn append_separated<T, I, U>(&mut self, iter: I, op: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
For use by ToTokens implementations.
Appends all of the items in the iterator I, separated by the tokens
U.
fn append_terminated<T, I, U>(&mut self, iter: I, term: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
For use by ToTokens implementations.
Appends all tokens in the iterator I, appending U after each
element, including after the last element of the iterator.
Implementations on Foreign Types
impl TokenStreamExt for TokenStream[src]
impl TokenStreamExt for TokenStreamfn append<U>(&mut self, token: U) where
U: Into<TokenTree>, [src]
fn append<U>(&mut self, token: U) where
U: Into<TokenTree>, fn append_all<T, I>(&mut self, iter: I) where
T: ToTokens,
I: IntoIterator<Item = T>, [src]
fn append_all<T, I>(&mut self, iter: I) where
T: ToTokens,
I: IntoIterator<Item = T>, fn append_separated<T, I, U>(&mut self, iter: I, op: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens, [src]
fn append_separated<T, I, U>(&mut self, iter: I, op: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens, fn append_terminated<T, I, U>(&mut self, iter: I, term: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens, [src]
fn append_terminated<T, I, U>(&mut self, iter: I, term: U) where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,