Struct satoxid::constraints::ExactlyK [−][src]
pub struct ExactlyK<I> { pub lits: I, pub k: u32, }
Expand description
This constraint encodes the requirement that exactly k
of lits
are true.
Fields
lits: I
k: u32
Trait Implementations
impl<V, I> Constraint<V> for ExactlyK<I> where
V: SatVar,
I: Iterator + Clone,
I::Item: Into<VarType<V>> + Debug,
[src]
impl<V, I> Constraint<V> for ExactlyK<I> where
V: SatVar,
I: Iterator + Clone,
I::Item: Into<VarType<V>> + Debug,
[src]impl<V, I> ConstraintRepr<V> for ExactlyK<I> where
V: SatVar,
I: Iterator + Clone,
I::Item: Into<VarType<V>> + Debug,
[src]
impl<V, I> ConstraintRepr<V> for ExactlyK<I> where
V: SatVar,
I: Iterator + Clone,
I::Item: Into<VarType<V>> + Debug,
[src]fn encode_constraint_implies_repr<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_implies_repr<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]Encode if Self
is satisified, that repr
is true.
fn encode_constraint_equals_repr<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_equals_repr<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]Encode if and only if Self
is satisified, that repr
is true.
fn encode_constraint_repr_cheap<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]
fn encode_constraint_repr_cheap<S: Backend>(
self,
repr: Option<i32>,
solver: &mut S,
varmap: &mut VarMap<V>
) -> i32
[src]Encode that repr is true if the constraint is satisfied. The semantics are less restrictive for to allow for cheaper encoding. No guarantees are given about the constraints of repr if the constraint is false. Usually it has either the semantics of implies_repr or equals_repr. Read more
Auto Trait Implementations
impl<I> RefUnwindSafe for ExactlyK<I> where
I: RefUnwindSafe,
I: RefUnwindSafe,
impl<I> Send for ExactlyK<I> where
I: Send,
I: Send,
impl<I> Sync for ExactlyK<I> where
I: Sync,
I: Sync,
impl<I> Unpin for ExactlyK<I> where
I: Unpin,
I: Unpin,
impl<I> UnwindSafe for ExactlyK<I> where
I: UnwindSafe,
I: 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