pub trait Chain {
    type Item;
    type Stream: Stream<Item = Self::Item>;

    // Required method
    fn chain(self) -> Self::Stream;
}
Expand description

Takes multiple streams and creates a new stream over all in sequence.

Required Associated Types§

source

type Item

What’s the return type of our stream?

source

type Stream: Stream<Item = Self::Item>

What stream do we return?

Required Methods§

source

fn chain(self) -> Self::Stream

Combine multiple streams into a single stream.

Implementations on Foreign Types§

source§

impl<T, A> Chain for (A,)where A: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain1<A>

source§

fn chain(self) -> Self::Stream

source§

impl<S: Stream, const N: usize> Chain for [S; N]

§

type Item = <S as Stream>::Item

§

type Stream = Chain<S, N>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G, H, I, J> Chain for (A, B, C, D, E, F, G, H, I, J)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>, H: Stream<Item = T>, I: Stream<Item = T>, J: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain10<A, B, C, D, E, F, G, H, I, J>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D> Chain for (A, B, C, D)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain4<A, B, C, D>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B> Chain for (A, B)where A: Stream<Item = T>, B: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain2<A, B>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G, H, I, J, K> Chain for (A, B, C, D, E, F, G, H, I, J, K)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>, H: Stream<Item = T>, I: Stream<Item = T>, J: Stream<Item = T>, K: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain11<A, B, C, D, E, F, G, H, I, J, K>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F> Chain for (A, B, C, D, E, F)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain6<A, B, C, D, E, F>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G, H, I, J, K, L> Chain for (A, B, C, D, E, F, G, H, I, J, K, L)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>, H: Stream<Item = T>, I: Stream<Item = T>, J: Stream<Item = T>, K: Stream<Item = T>, L: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain12<A, B, C, D, E, F, G, H, I, J, K, L>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E> Chain for (A, B, C, D, E)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain5<A, B, C, D, E>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C> Chain for (A, B, C)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain3<A, B, C>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G, H> Chain for (A, B, C, D, E, F, G, H)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>, H: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain8<A, B, C, D, E, F, G, H>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G, H, I> Chain for (A, B, C, D, E, F, G, H, I)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>, H: Stream<Item = T>, I: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain9<A, B, C, D, E, F, G, H, I>

source§

fn chain(self) -> Self::Stream

source§

impl<S: Stream> Chain for Vec<S>

§

type Item = <S as Stream>::Item

§

type Stream = Chain<S>

source§

fn chain(self) -> Self::Stream

source§

impl<T, A, B, C, D, E, F, G> Chain for (A, B, C, D, E, F, G)where A: Stream<Item = T>, B: Stream<Item = T>, C: Stream<Item = T>, D: Stream<Item = T>, E: Stream<Item = T>, F: Stream<Item = T>, G: Stream<Item = T>,

§

type Item = T

§

type Stream = Chain7<A, B, C, D, E, F, G>

source§

fn chain(self) -> Self::Stream

Implementors§