[][src]Trait amadeus_core::par_sink::FromDistributedStream

pub trait FromDistributedStream<T>: Sized {
    type ReduceA: ReducerSend<T> + Clone + ProcessSend;
    type ReduceB: ReducerProcessSend<<Self::ReduceA as ReducerSend<T>>::Done> + Clone + ProcessSend;
    type ReduceC: Reducer<<Self::ReduceB as ReducerProcessSend<<Self::ReduceA as ReducerSend<T>>::Done>>::Done, Done = Self>;
    fn reducers() -> (Self::ReduceA, Self::ReduceB, Self::ReduceC);
}

Associated Types

Loading content...

Required methods

fn reducers() -> (Self::ReduceA, Self::ReduceB, Self::ReduceC)

Loading content...

Implementations on Foreign Types

impl<T> FromDistributedStream<T> for Vec<T> where
    T: ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<T, Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl<T> FromDistributedStream<T> for VecDeque<T> where
    T: ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<T, Vec<T>>

type ReduceB = ExtendReducer<Vec<T>>

type ReduceC = IntoReducer<ExtendReducer<Vec<T>>, Self>

impl<T: Ord> FromDistributedStream<T> for BinaryHeap<T> where
    T: ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<T, Vec<T>>

type ReduceB = ExtendReducer<Vec<T>>

type ReduceC = IntoReducer<ExtendReducer<Vec<T>>, Self>

impl<T> FromDistributedStream<T> for LinkedList<T> where
    T: ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<T, Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl<T, S> FromDistributedStream<T> for HashSet<T, S> where
    T: Eq + Hash + ProcessSend + 'static,
    S: BuildHasher + Default + Send + 'static, 
[src]

type ReduceA = PushReducer<T, Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl<K, V, S> FromDistributedStream<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash + ProcessSend + 'static,
    V: ProcessSend + 'static,
    S: BuildHasher + Default + Send + 'static, 
[src]

type ReduceA = PushReducer<(K, V), Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl<T> FromDistributedStream<T> for BTreeSet<T> where
    T: Ord + ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<T, Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl<K, V> FromDistributedStream<(K, V)> for BTreeMap<K, V> where
    K: Ord + ProcessSend + 'static,
    V: ProcessSend + 'static, 
[src]

type ReduceA = PushReducer<(K, V), Self>

type ReduceB = ExtendReducer<Self>

type ReduceC = ExtendReducer<Self>

impl FromDistributedStream<char> for String[src]

type ReduceA = PushReducer<char, Self>

type ReduceB = PushReducer<Self>

type ReduceC = PushReducer<Self>

impl FromDistributedStream<String> for String[src]

type ReduceA = PushReducer<Self>

type ReduceB = PushReducer<Self>

type ReduceC = PushReducer<Self>

impl FromDistributedStream<()> for ()[src]

type ReduceA = PushReducer<Self>

type ReduceB = PushReducer<Self>

type ReduceC = PushReducer<Self>

impl<T, C: FromDistributedStream<T>> FromDistributedStream<Option<T>> for Option<C>[src]

impl<T, C: FromDistributedStream<T>, E> FromDistributedStream<Result<T, E>> for Result<C, E> where
    E: ProcessSend + 'static, 
[src]

type ReduceA = ResultReducer<C::ReduceA, E>

type ReduceB = ResultReducer<C::ReduceB, E>

type ReduceC = ResultReducer<C::ReduceC, E>

Loading content...

Implementors

Loading content...