ArrowHeap

Trait ArrowHeap 

Source
pub trait ArrowHeap {
    // Required methods
    fn set_batch(&mut self, vals: ArrayRef);
    fn is_worse(&self, idx: usize) -> bool;
    fn worst_map_idx(&self) -> usize;
    fn renumber(&mut self, heap_to_map: &[(usize, usize)]);
    fn insert(
        &mut self,
        row_idx: usize,
        map_idx: usize,
        map: &mut Vec<(usize, usize)>,
    );
    fn replace_if_better(
        &mut self,
        heap_idx: usize,
        row_idx: usize,
        map: &mut Vec<(usize, usize)>,
    );
    fn drain(&mut self) -> (ArrayRef, Vec<usize>);
}
Expand description

An interface to hide the generic type signature of TopKHeap behind arrow arrays

Required Methods§

Source

fn set_batch(&mut self, vals: ArrayRef)

Source

fn is_worse(&self, idx: usize) -> bool

Source

fn worst_map_idx(&self) -> usize

Source

fn renumber(&mut self, heap_to_map: &[(usize, usize)])

Source

fn insert( &mut self, row_idx: usize, map_idx: usize, map: &mut Vec<(usize, usize)>, )

Source

fn replace_if_better( &mut self, heap_idx: usize, row_idx: usize, map: &mut Vec<(usize, usize)>, )

Source

fn drain(&mut self) -> (ArrayRef, Vec<usize>)

Implementors§

Source§

impl<VAL: ArrowPrimitiveType> ArrowHeap for PrimitiveHeap<VAL>
where <VAL as ArrowPrimitiveType>::Native: Comparable,