Struct chalk_engine::forest::Forest [−][src]
pub struct Forest<C: Context, CO: ContextOps<C>> { /* fields omitted */ }
Methods
impl<C: Context, CO: ContextOps<C>> Forest<C, CO>
[src]
impl<C: Context, CO: ContextOps<C>> Forest<C, CO>
pub fn new(context: CO) -> Self
[src]
pub fn new(context: CO) -> Self
pub fn force_answers(
&mut self,
goal: C::UCanonicalGoalInEnvironment,
num_answers: usize
) -> Vec<Answer<C>>
[src]
pub fn force_answers(
&mut self,
goal: C::UCanonicalGoalInEnvironment,
num_answers: usize
) -> Vec<Answer<C>>
Finds the first N answers, looping as much as needed to get them.
Thanks to subgoal abstraction and so forth, this should always terminate.
pub fn solve(
&mut self,
goal: &C::UCanonicalGoalInEnvironment
) -> Option<C::Solution>
[src]
pub fn solve(
&mut self,
goal: &C::UCanonicalGoalInEnvironment
) -> Option<C::Solution>
Solves a given goal, producing the solution. This will do only
as much work towards goal
as it has to (and that works is
cached for future attempts).
pub fn num_cached_answers_for_goal(
&mut self,
goal: &C::UCanonicalGoalInEnvironment
) -> usize
[src]
pub fn num_cached_answers_for_goal(
&mut self,
goal: &C::UCanonicalGoalInEnvironment
) -> usize
Useful for testing.
Auto Trait Implementations
impl<C, CO> Send for Forest<C, CO> where
CO: Send,
<C as Context>::CanonicalConstrainedSubst: Send,
<C as Context>::CanonicalExClause: Send,
<C as Context>::UCanonicalGoalInEnvironment: Send,
<C as Context>::UniverseMap: Send,
impl<C, CO> Send for Forest<C, CO> where
CO: Send,
<C as Context>::CanonicalConstrainedSubst: Send,
<C as Context>::CanonicalExClause: Send,
<C as Context>::UCanonicalGoalInEnvironment: Send,
<C as Context>::UniverseMap: Send,
impl<C, CO> Sync for Forest<C, CO> where
CO: Sync,
<C as Context>::CanonicalConstrainedSubst: Sync,
<C as Context>::CanonicalExClause: Sync,
<C as Context>::UCanonicalGoalInEnvironment: Sync,
<C as Context>::UniverseMap: Sync,
impl<C, CO> Sync for Forest<C, CO> where
CO: Sync,
<C as Context>::CanonicalConstrainedSubst: Sync,
<C as Context>::CanonicalExClause: Sync,
<C as Context>::UCanonicalGoalInEnvironment: Sync,
<C as Context>::UniverseMap: Sync,