[][src]Trait timely::dataflow::operators::map::Map

pub trait Map<S: Scope, D: Data> {
    fn map<D2: Data>(&self, logic: impl Fn(D) -> D2 + 'static) -> Stream<S, D2>;
fn map_in_place(&self, logic: impl Fn(&mut D) + 'static) -> Stream<S, D>;
fn flat_map<I: IntoIterator>(
        &self,
        logic: impl Fn(D) -> I + 'static
    ) -> Stream<S, I::Item>
    where
        I::Item: Data
; }

Extension trait for Stream.

Required methods

fn map<D2: Data>(&self, logic: impl Fn(D) -> D2 + 'static) -> Stream<S, D2>

Consumes each element of the stream and yields a new element.

Examples

use timely::dataflow::operators::{ToStream, Map, Inspect};

timely::example(|scope| {
    (0..10).to_stream(scope)
           .map(|x| x + 1)
           .inspect(|x| println!("seen: {:?}", x));
});

fn map_in_place(&self, logic: impl Fn(&mut D) + 'static) -> Stream<S, D>

Updates each element of the stream and yields the element, re-using memory where possible.

Examples

use timely::dataflow::operators::{ToStream, Map, Inspect};

timely::example(|scope| {
    (0..10).to_stream(scope)
           .map_in_place(|x| *x += 1)
           .inspect(|x| println!("seen: {:?}", x));
});

fn flat_map<I: IntoIterator>(
    &self,
    logic: impl Fn(D) -> I + 'static
) -> Stream<S, I::Item> where
    I::Item: Data

Consumes each element of the stream and yields some number of new elements.

Examples

use timely::dataflow::operators::{ToStream, Map, Inspect};

timely::example(|scope| {
    (0..10).to_stream(scope)
           .flat_map(|x| (0..x))
           .inspect(|x| println!("seen: {:?}", x));
});
Loading content...

Implementors

impl<S: Scope, D: Data> Map<S, D> for Stream<S, D>[src]

Loading content...