pub trait AnswerStream<I: Interner> {
    // Required methods
    fn peek_answer(
        &mut self,
        should_continue: impl Fn() -> bool
    ) -> AnswerResult<I>;
    fn next_answer(
        &mut self,
        should_continue: impl Fn() -> bool
    ) -> AnswerResult<I>;
    fn any_future_answer(&self, test: impl Fn(&Substitution<I>) -> bool) -> bool;
}

Required Methods§

source

fn peek_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<I>

Gets the next answer for a given goal, but doesn’t increment the answer index. Calling this or next_answer again will give the same answer.

source

fn next_answer(&mut self, should_continue: impl Fn() -> bool) -> AnswerResult<I>

Gets the next answer for a given goal, incrementing the answer index. Calling this or peek_answer again will give the next answer.

source

fn any_future_answer(&self, test: impl Fn(&Substitution<I>) -> bool) -> bool

Invokes test with each possible future answer, returning true immediately if we find any answer for which test returns true.

Object Safety§

This trait is not object safe.

Implementors§