pub struct GraphPlan<'a, ActionId: Debug + Hash + Ord + Clone, PropositionId: Debug + Display + Hash + Ord + Clone> { /* private fields */ }
Implementations§
Source§impl<'a, ActionId: Debug + Hash + Ord + Clone, PropositionId: Debug + Display + Hash + Ord + Clone> GraphPlan<'a, ActionId, PropositionId>
impl<'a, ActionId: Debug + Hash + Ord + Clone, PropositionId: Debug + Display + Hash + Ord + Clone> GraphPlan<'a, ActionId, PropositionId>
Sourcepub fn new(
initial_props: HashSet<&'a Proposition<PropositionId>>,
goals: HashSet<&'a Proposition<PropositionId>>,
actions: HashSet<&'a Action<'a, ActionId, PropositionId>>,
) -> GraphPlan<'a, ActionId, PropositionId>
pub fn new( initial_props: HashSet<&'a Proposition<PropositionId>>, goals: HashSet<&'a Proposition<PropositionId>>, actions: HashSet<&'a Action<'a, ActionId, PropositionId>>, ) -> GraphPlan<'a, ActionId, PropositionId>
Returns a new GraphPlan. Note: you probably want to use
from_domain
instead.
pub fn from_domain( domain: &'a Domain<'a, ActionId, PropositionId>, ) -> GraphPlan<'a, ActionId, PropositionId>
Sourcepub fn create_domain(
initial_props: HashSet<&'a Proposition<PropositionId>>,
goals: HashSet<&'a Proposition<PropositionId>>,
actions: HashSet<&'a Action<'a, ActionId, PropositionId>>,
) -> Domain<'a, ActionId, PropositionId>
pub fn create_domain( initial_props: HashSet<&'a Proposition<PropositionId>>, goals: HashSet<&'a Proposition<PropositionId>>, actions: HashSet<&'a Action<'a, ActionId, PropositionId>>, ) -> Domain<'a, ActionId, PropositionId>
Returns a domain with all maintenance actions.automatically created. This is needed to avoid lifetime issues with PlanGraph
pub fn search<Solver>(
&mut self,
) -> Option<Solution<'a, ActionId, PropositionId>>where
Solver: GraphPlanSolver<'a, ActionId, PropositionId>,
Sourcepub fn format_plan(
solution: Solution<'_, ActionId, PropositionId>,
) -> Solution<'_, ActionId, PropositionId>
pub fn format_plan( solution: Solution<'_, ActionId, PropositionId>, ) -> Solution<'_, ActionId, PropositionId>
Takes a solution and filters out maintenance actions
Auto Trait Implementations§
impl<'a, ActionId, PropositionId> Freeze for GraphPlan<'a, ActionId, PropositionId>
impl<'a, ActionId, PropositionId> RefUnwindSafe for GraphPlan<'a, ActionId, PropositionId>where
PropositionId: RefUnwindSafe,
ActionId: RefUnwindSafe,
impl<'a, ActionId, PropositionId> Send for GraphPlan<'a, ActionId, PropositionId>
impl<'a, ActionId, PropositionId> Sync for GraphPlan<'a, ActionId, PropositionId>
impl<'a, ActionId, PropositionId> Unpin for GraphPlan<'a, ActionId, PropositionId>
impl<'a, ActionId, PropositionId> UnwindSafe for GraphPlan<'a, ActionId, PropositionId>where
PropositionId: RefUnwindSafe,
ActionId: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more