StreamTuple

Trait StreamTuple 

Source
pub trait StreamTuple<I>: Sized {
    // Required methods
    fn workflow(&self) -> &Workflow<I>;
    fn ids(&self) -> Vec<usize>;
}
Expand description

Stream tuple.

Stream tuples are heterogeneous collections of streams, which are essential to differentially source inputs for functions that take multiple arguments. They are implemented as tuples of streams with the help of macros in sizes of 1 to 8, which also applies to all derived traits.

Operators implemented with stream tuples include:

As such, StreamTuple is solely a base trait with some methods attached that allows to conveniently work with stream tuples. Trait derivations like StreamTupleJoin and friends extend the functionality of StreamTuple to implement join operations on tuples of streams and more.

Required Methods§

Source

fn workflow(&self) -> &Workflow<I>

Source

fn ids(&self) -> Vec<usize>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<I, T1> StreamTuple<I> for (Stream<I, T1>,)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3, T4> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>, Stream<I, T4>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3, T4, T5> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>, Stream<I, T4>, Stream<I, T5>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3, T4, T5, T6> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>, Stream<I, T4>, Stream<I, T5>, Stream<I, T6>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3, T4, T5, T6, T7> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>, Stream<I, T4>, Stream<I, T5>, Stream<I, T6>, Stream<I, T7>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Source§

impl<I, T1, T2, T3, T4, T5, T6, T7, T8> StreamTuple<I> for (Stream<I, T1>, Stream<I, T2>, Stream<I, T3>, Stream<I, T4>, Stream<I, T5>, Stream<I, T6>, Stream<I, T7>, Stream<I, T8>)

Source§

fn workflow(&self) -> &Workflow<I>

Source§

fn ids(&self) -> Vec<usize>

Implementors§