Trait quote::TokenStreamExt
source · [−]pub trait TokenStreamExt: Sealed {
fn append<U>(&mut self, token: U)
where
U: Into<TokenTree>;
fn append_all<I>(&mut self, iter: I)
where
I: IntoIterator,
I::Item: ToTokens;
fn append_separated<I, U>(&mut self, iter: I, op: U)
where
I: IntoIterator,
I::Item: ToTokens,
U: ToTokens;
fn append_terminated<I, U>(&mut self, iter: I, term: U)
where
I: IntoIterator,
I::Item: ToTokens,
U: ToTokens;
}
Expand description
TokenStream extension trait with methods for appending tokens.
This trait is sealed and cannot be implemented outside of the quote
crate.
Required methods
For use by ToTokens
implementations.
Appends the token specified to this list of tokens.
fn append_all<I>(&mut self, iter: I) where
I: IntoIterator,
I::Item: ToTokens,
fn append_all<I>(&mut self, iter: I) where
I: IntoIterator,
I::Item: ToTokens,
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<I, U>(&mut self, iter: I, op: U) where
I: IntoIterator,
I::Item: ToTokens,
U: ToTokens,
fn append_separated<I, U>(&mut self, iter: I, op: U) where
I: IntoIterator,
I::Item: ToTokens,
U: ToTokens,
For use by ToTokens
implementations.
Appends all of the items in the iterator I
, separated by the tokens
U
.
fn append_terminated<I, U>(&mut self, iter: I, term: U) where
I: IntoIterator,
I::Item: ToTokens,
U: ToTokens,
fn append_terminated<I, U>(&mut self, iter: I, term: U) where
I: IntoIterator,
I::Item: ToTokens,
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.