Leaper

Trait Leaper 

Source
pub trait Leaper<'leap, Tuple, Val> {
    // Required methods
    fn count(&mut self, prefix: &Tuple) -> usize;
    fn propose(&mut self, prefix: &Tuple, values: &mut Vec<&'leap Val>);
    fn intersect(&mut self, prefix: &Tuple, values: &mut Vec<&'leap Val>);
}
Expand description

Methods to support treefrog leapjoin.

Required Methods§

Source

fn count(&mut self, prefix: &Tuple) -> usize

Estimates the number of proposed values.

Source

fn propose(&mut self, prefix: &Tuple, values: &mut Vec<&'leap Val>)

Populates values with proposed values.

Source

fn intersect(&mut self, prefix: &Tuple, values: &mut Vec<&'leap Val>)

Restricts values to proposed values.

Implementors§

Source§

impl<'leap, Key, Val, Tuple, Func> Leaper<'leap, Tuple, Val> for ExtendAnti<'leap, Key, Val, Tuple, Func>
where Key: Ord + 'leap, Val: Ord + 'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key,

Source§

impl<'leap, Key, Val, Tuple, Func> Leaper<'leap, Tuple, Val> for ExtendWith<'leap, Key, Val, Tuple, Func>
where Key: Ord + 'leap, Val: Ord + 'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key,

Source§

impl<'leap, Key, Val, Val2, Tuple, Func> Leaper<'leap, Tuple, Val2> for FilterAnti<'leap, Key, Val, Tuple, Func>
where Key: Ord + 'leap, Val: Ord + 'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val),

Source§

impl<'leap, Key, Val, Val2, Tuple, Func> Leaper<'leap, Tuple, Val2> for FilterWith<'leap, Key, Val, Tuple, Func>
where Key: Ord + 'leap, Val: Ord + 'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val),

Source§

impl<'leap, Tuple, Val, Func> Leaper<'leap, Tuple, Val> for PrefixFilter<Tuple, Func>
where Func: Fn(&Tuple) -> bool,

Source§

impl<'leap, Tuple, Val, Func> Leaper<'leap, Tuple, Val> for ValueFilter<Tuple, Val, Func>
where Func: Fn(&Tuple, &Val) -> bool,