pub enum Effect {
And(Vec<Effect>),
Predicate(AtomicFormula),
NotPredicate(AtomicFormula),
Forall {
variables: TypedList<Variable>,
effect: Box<Effect>,
},
When {
condition: Condition,
effect: Box<Effect>,
},
NumericAssign {
op: AssignOp,
function: FunctionTerm,
expr: NumericExpr,
},
AtStart(Box<Effect>),
AtEnd(Box<Effect>),
}Expand description
An action effect.
Effects can add/delete predicate instances, perform numeric assignments,
and include conditional (when) and universal (forall) sub-effects.
Inside durative actions, effects are wrapped in temporal markers (AtStart, AtEnd).
Variants§
And(Vec<Effect>)
Conjunction: (and e1 e2 ...).
Predicate(AtomicFormula)
Add (assert) a predicate instance.
NotPredicate(AtomicFormula)
Delete (negate) a predicate instance: (not (pred ...)).
Forall
Universal effect: (forall (?x - type) <effect>).
When
Conditional effect: (when <condition> <effect>).
NumericAssign
Numeric assignment: (assign/increase/decrease/scale-up/scale-down <fn> <expr>).
AtStart(Box<Effect>)
(at start <effect>).
AtEnd(Box<Effect>)
(at end <effect>).
Trait Implementations§
impl StructuralPartialEq for Effect
Auto Trait Implementations§
impl Freeze for Effect
impl RefUnwindSafe for Effect
impl Send for Effect
impl Sync for Effect
impl Unpin for Effect
impl UnsafeUnpin for Effect
impl UnwindSafe for Effect
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