Trait proto_vulcan::goal::AnyGoal [−][src]
pub trait AnyGoal<U, E>: Debug + Clone + 'static where
U: User,
E: Engine<U>, {
fn succeed() -> Self
where
Self: Sized;
fn fail() -> Self
where
Self: Sized;
fn breakpoint(id: &'static str) -> Self
where
Self: Sized;
fn dynamic(u: Rc<dyn Solve<U, E>>) -> Self
where
Self: Sized;
fn is_succeed(&self) -> bool;
fn is_fail(&self) -> bool;
fn is_breakpoint(&self) -> bool;
fn solve(&self, solver: &Solver<U, E>, state: State<U, E>) -> Stream<U, E>;
}