pub enum CSIntervalConstraint {
True,
False,
Conj(Box<CSIntervalConstraint>, Box<CSIntervalConstraint>),
Disj(Box<CSIntervalConstraint>, Box<CSIntervalConstraint>),
VarGuard(CSVariable, Vec<ACSInterval>),
}Expand description
Constraints on interval states operating on ACSIntervals and
CSVariables
Variants§
True
Always enabled
False
Always disabled
Conj(Box<CSIntervalConstraint>, Box<CSIntervalConstraint>)
A conjunction of two CSIntervalConstraints
Disj(Box<CSIntervalConstraint>, Box<CSIntervalConstraint>)
A disjunction of two CSIntervalConstraints
VarGuard(CSVariable, Vec<ACSInterval>)
Constraint on an interval the variable should be in
Implementations§
Source§impl CSIntervalConstraint
impl CSIntervalConstraint
Sourcefn from_interval_constr(ta_cs: &IndexCtx, ics: &IntervalConstraint) -> Self
fn from_interval_constr(ta_cs: &IndexCtx, ics: &IntervalConstraint) -> Self
Translate from a [IntervalConstraint] to a CSIntervalConstraint
Sourcefn is_satisfied(&self, interval_state: &ACSIntervalState) -> bool
fn is_satisfied(&self, interval_state: &ACSIntervalState) -> bool
Check whether the given interval state satisfies the constraint
Trait Implementations§
Source§impl Clone for CSIntervalConstraint
impl Clone for CSIntervalConstraint
Source§fn clone(&self) -> CSIntervalConstraint
fn clone(&self) -> CSIntervalConstraint
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CSIntervalConstraint
impl Debug for CSIntervalConstraint
Source§impl Hash for CSIntervalConstraint
impl Hash for CSIntervalConstraint
Source§impl PartialEq for CSIntervalConstraint
impl PartialEq for CSIntervalConstraint
impl Eq for CSIntervalConstraint
impl StructuralPartialEq for CSIntervalConstraint
Auto Trait Implementations§
impl Freeze for CSIntervalConstraint
impl RefUnwindSafe for CSIntervalConstraint
impl Send for CSIntervalConstraint
impl Sync for CSIntervalConstraint
impl Unpin for CSIntervalConstraint
impl UnwindSafe for CSIntervalConstraint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more