Skip to main content

drain_side

Function drain_side 

Source
fn drain_side<D, T, R, Sink>(
    head: &mut Column<(D, T, R)>,
    pos: &mut usize,
    rest: FetchIter<'_, D, T, R>,
    result: &mut Column<(D, T, R)>,
    sink: &mut Sink,
    pager: &ColumnPager,
    stash: &mut Vec<Column<(D, T, R)>>,
)
where D: Columnar, for<'a> Ref<'a, D>: Copy + Ord, T: Columnar + Default + Clone + PartialOrder, for<'a> Ref<'a, T>: Copy + Ord, R: Columnar + Default + Semigroup + for<'a> Semigroup<Ref<'a, R>>, Sink: FnMut(PagedColumn<(D, T, R)>),
Expand description

Helper for merge_chains’s drain phase: copy a partially-consumed head into result (via 1-input merge_from), ship result if non-empty, then pass the remaining queued PagedColumns straight through.