[][src]Trait quote::TokenStreamExt

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
; }

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>, 

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

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

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

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.

Loading content...

Implementations on Foreign Types

impl TokenStreamExt for TokenStream[src]

Loading content...

Implementors

Loading content...