Trait quote::TokenStreamExt
source · 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;
}
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
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,
Implementations on Foreign Types
sourceimpl TokenStreamExt for TokenStream
impl TokenStreamExt for TokenStream
sourcefn append<U>(&mut self, token: U)where
U: Into<TokenTree>,
fn append<U>(&mut self, token: U)where
U: Into<TokenTree>,
For use by ToTokens
implementations.
Appends the token specified to this list of tokens.
sourcefn append_all<T, I>(&mut self, iter: I)where
T: ToTokens,
I: IntoIterator<Item = T>,
fn append_all<T, I>(&mut self, iter: I)where
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");
sourcefn append_separated<T, I, U>(&mut self, iter: I, op: U)where
T: ToTokens,
I: IntoIterator<Item = T>,
U: ToTokens,
fn append_separated<T, I, U>(&mut self, iter: I, op: U)where
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
.
sourcefn append_terminated<T, I, U>(&mut self, iter: I, term: 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,
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.