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

Implementations on Foreign Types

impl TokenStreamExt for TokenStream
[src]

For use by ToTokens implementations.

Appends the token specified to this list of tokens.

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");

For use by ToTokens implementations.

Appends all of the items in the iterator I, separated by the tokens U.

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.

Implementors