pub trait SkipIterator {
// Required methods
fn next(&mut self) -> Option<(Tuple, Vec<usize>)>;
fn skip(&mut self, min: Tuple);
fn arity(&self) -> usize;
fn len(&self) -> usize;
}Expand description
A SkipIterator is like a normal iterator, but:
- The arity of all returned
Tuples must be identical, and equal to the value returned byarity() - It can be moved to the first value above or equal to a tuple, meaning the iterator must be rewindable.
Required Methods§
Sourcefn next(&mut self) -> Option<(Tuple, Vec<usize>)>
fn next(&mut self) -> Option<(Tuple, Vec<usize>)>
Provides the next tuple in the iterator, the fact ID it was derived from