Struct ai_kit::planner::Goal [] [src]

pub struct Goal<T: ConstraintValue, U: Unify<T>, A: Operation<T, U>> {
    pub bindings_at_creation: Bindings<T>,
    pub constraints: Vec<Constraint>,
    pub parental_constraints: Vec<Constraint>,
    pub pattern: U,
    pub subgoals: Vec<Goal<T, U, A>>,
    pub unification_index: UnificationIndex,
    // some fields omitted
}

Fields

Methods

impl<T, U, A> Goal<T, U, A> where
    T: ConstraintValue,
    U: Unify<T>,
    A: Operation<T, U>, 
[src]

Verify that this plan does not break any of the planning specifications and that it is consistent

Construct a mutated plan

Determine if the plan is valid

Traverse the tree and determine if any datum is being used more than once

Traverse the goal tree using a depth-first search and gather the leaves of the plan

Trait Implementations

impl<T: Clone + ConstraintValue, U: Clone + Unify<T>, A: Clone + Operation<T, U>> Clone for Goal<T, U, A>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<T: Debug + ConstraintValue, U: Debug + Unify<T>, A: Debug + Operation<T, U>> Debug for Goal<T, U, A>
[src]

Formats the value using the given formatter.

impl<T: Eq + ConstraintValue, U: Eq + Unify<T>, A: Eq + Operation<T, U>> Eq for Goal<T, U, A>
[src]

impl<T: PartialEq + ConstraintValue, U: PartialEq + Unify<T>, A: PartialEq + Operation<T, U>> PartialEq for Goal<T, U, A>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<T, U, A> Display for Goal<T, U, A> where
    T: ConstraintValue,
    U: Unify<T>,
    A: Operation<T, U>, 
[src]

Formats the value using the given formatter. Read more