Leapers

Trait Leapers 

Source
pub trait Leapers<'leap, Tuple, Val> {
    // Required methods
    fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize));
    fn propose(
        &mut self,
        tuple: &Tuple,
        min_index: usize,
        values: &mut Vec<&'leap Val>,
    );
    fn intersect(
        &mut self,
        tuple: &Tuple,
        min_index: usize,
        values: &mut Vec<&'leap Val>,
    );
}
Expand description

Implemented for a tuple of leapers

Required Methods§

Source

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Internal method:

Source

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

Internal method:

Source

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

Internal method:

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'leap, Tuple, Val, A, B> Leapers<'leap, Tuple, Val> for (A, B)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Source§

impl<'leap, Tuple, Val, A, B, C> Leapers<'leap, Tuple, Val> for (A, B, C)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>, C: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Source§

impl<'leap, Tuple, Val, A, B, C, D> Leapers<'leap, Tuple, Val> for (A, B, C, D)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>, C: Leaper<'leap, Tuple, Val>, D: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Source§

impl<'leap, Tuple, Val, A, B, C, D, E> Leapers<'leap, Tuple, Val> for (A, B, C, D, E)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>, C: Leaper<'leap, Tuple, Val>, D: Leaper<'leap, Tuple, Val>, E: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Source§

impl<'leap, Tuple, Val, A, B, C, D, E, F> Leapers<'leap, Tuple, Val> for (A, B, C, D, E, F)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>, C: Leaper<'leap, Tuple, Val>, D: Leaper<'leap, Tuple, Val>, E: Leaper<'leap, Tuple, Val>, F: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Source§

impl<'leap, Tuple, Val, A, B, C, D, E, F, G> Leapers<'leap, Tuple, Val> for (A, B, C, D, E, F, G)
where A: Leaper<'leap, Tuple, Val>, B: Leaper<'leap, Tuple, Val>, C: Leaper<'leap, Tuple, Val>, D: Leaper<'leap, Tuple, Val>, E: Leaper<'leap, Tuple, Val>, F: Leaper<'leap, Tuple, Val>, G: Leaper<'leap, Tuple, Val>,

Source§

fn for_each_count(&mut self, tuple: &Tuple, op: impl FnMut(usize, usize))

Source§

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

Source§

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

Implementors§

Source§

impl<'leap, Key, Val, Tuple, Func> Leapers<'leap, Tuple, ()> 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, Tuple, Func> Leapers<'leap, Tuple, ()> for FilterWith<'leap, Key, Val, Tuple, Func>
where Key: Ord + 'leap, Val: Ord + 'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val),

Source§

impl<'leap, Key, Val, Tuple, Func> Leapers<'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, Tuple, Func> Leapers<'leap, Tuple, ()> for PrefixFilter<Tuple, Func>
where Func: Fn(&Tuple) -> bool,