Trait quote::TokenStreamExt
[−]
[src]
pub trait TokenStreamExt: Sealed { 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>; 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; }
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>,
fn append_all<T, I>(&mut self, iter: I) where
T: ToTokens,
I: IntoIterator<Item = T>,
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,
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,
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
Implementations on Foreign Types
impl TokenStreamExt for TokenStream
[src]
fn append<U>(&mut self, token: U) where
U: Into<TokenTree>,
[src]
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>,
[src]
T: ToTokens,
I: IntoIterator<Item = T>,
For use by ToTokens
implementations.
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,
[src]
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,
[src]
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.