Struct satoxid::constraints::If [−][src]
pub struct If<C, T> { pub cond: C, pub then: T, }
Expand description
Implication constraint.
If cond
is satisfied true then the then
constraint has to be true.
Fields
cond: C
then: T
Trait Implementations
impl<V, C, T> Constraint<V> for If<C, T> where
V: SatVar,
C: ConstraintRepr<V>,
T: Constraint<V>,
[src]
impl<V, C, T> Constraint<V> for If<C, T> where
V: SatVar,
C: ConstraintRepr<V>,
T: Constraint<V>,
[src]impl<V, C, T> ConstraintRepr<V> for If<C, T> where
V: SatVar,
C: ConstraintRepr<V>,
T: ConstraintRepr<V>,
[src]
impl<V, C, T> ConstraintRepr<V> for If<C, T> where
V: SatVar,
C: ConstraintRepr<V>,
T: ConstraintRepr<V>,
[src]fn encode_constraint_implies_repr<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_implies_repr<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]Encode if Self
is satisified, that repr
is true.
Otherwise repr
is not constrained and can be true or false. Read more
fn encode_constraint_equals_repr<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_equals_repr<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]Encode if and only if Self
is satisified, that repr
is true.
fn encode_constraint_repr_cheap<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_repr_cheap<B: Backend>(
self,
repr: Option<i32>,
backend: &mut B,
varmap: &mut VarMap<V>
) -> i32
[src]Encode that repr is true if the constraint is satisfied.
The implementation can decide if it has the semantics of
encode_constraint_implies_repr
or encode_constraint_equals_repr
,
depending on what is cheaper to encode. Read more
Auto Trait Implementations
impl<C, T> RefUnwindSafe for If<C, T> where
C: RefUnwindSafe,
T: RefUnwindSafe,
C: RefUnwindSafe,
T: RefUnwindSafe,
impl<C, T> Send for If<C, T> where
C: Send,
T: Send,
C: Send,
T: Send,
impl<C, T> Sync for If<C, T> where
C: Sync,
T: Sync,
C: Sync,
T: Sync,
impl<C, T> Unpin for If<C, T> where
C: Unpin,
T: Unpin,
C: Unpin,
T: Unpin,
impl<C, T> UnwindSafe for If<C, T> where
C: UnwindSafe,
T: UnwindSafe,
C: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more