Trait timely_container::PushPartitioned

source ·
pub trait PushPartitioned: SizableContainer {
    // Required method
    fn push_partitioned<I, F>(
        &mut self,
        buffers: &mut [Self],
        index: I,
        flush: F,
    )
       where for<'a> I: FnMut(&Self::Item<'a>) -> usize,
             F: FnMut(usize, &mut Self);
}
Expand description

A container that can partition itself into pieces.

Required Methods§

source

fn push_partitioned<I, F>(&mut self, buffers: &mut [Self], index: I, flush: F)
where for<'a> I: FnMut(&Self::Item<'a>) -> usize, F: FnMut(usize, &mut Self),

Partition and push this container.

Drain all elements from self, and use the function index to determine which buffer to append an element to. Call flush with an index and a buffer to send the data downstream.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<C> PushPartitioned for C
where for<'a> C: PushInto<C::Item<'a>> + SizableContainer,