Struct satoxid::constraints::Not [−][src]
pub struct Not<C>(pub C);
Expand description
Constraint which inverts a constraint.
If a constraint C
is unsatisfiable than Not(C)
is satisfiable and vice versa.
Trait Implementations
impl<V, C> Constraint<V> for Not<C> where
V: SatVar,
C: ConstraintRepr<V>,
[src]
impl<V, C> Constraint<V> for Not<C> where
V: SatVar,
C: ConstraintRepr<V>,
[src]impl<V, C> ConstraintRepr<V> for Not<C> where
V: SatVar,
C: ConstraintRepr<V>,
[src]
impl<V, C> ConstraintRepr<V> for Not<C> where
V: SatVar,
C: 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> RefUnwindSafe for Not<C> where
C: RefUnwindSafe,
C: RefUnwindSafe,
impl<C> Send for Not<C> where
C: Send,
C: Send,
impl<C> Sync for Not<C> where
C: Sync,
C: Sync,
impl<C> Unpin for Not<C> where
C: Unpin,
C: Unpin,
impl<C> UnwindSafe for Not<C> where
C: UnwindSafe,
C: 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