pub struct AssumptionStack { /* private fields */ }Expand description
Assumption stack with level management
Implementations§
Source§impl AssumptionStack
impl AssumptionStack
Sourcepub fn push_with_data(&mut self, lit: Lit, data: u64) -> Result<(), String>
pub fn push_with_data(&mut self, lit: Lit, data: u64) -> Result<(), String>
Push an assumption with user data
Sourcepub fn get_all(&self) -> &[Assumption]
pub fn get_all(&self) -> &[Assumption]
Get all assumptions as a slice
Sourcepub fn get_literals(&self) -> Vec<Lit>
pub fn get_literals(&self) -> Vec<Lit>
Get assumptions as literals
Sourcepub fn get_at_level(&self, level: AssumptionLevel) -> Vec<&Assumption>
pub fn get_at_level(&self, level: AssumptionLevel) -> Vec<&Assumption>
Get assumptions at a specific level
Sourcepub fn is_assumed(&self, lit: Lit) -> bool
pub fn is_assumed(&self, lit: Lit) -> bool
Check if a literal is assumed
Sourcepub fn get_level(&self, lit: Lit) -> Option<AssumptionLevel>
pub fn get_level(&self, lit: Lit) -> Option<AssumptionLevel>
Get the level of an assumption
Sourcepub fn set_conflict(&mut self, core: Vec<Lit>)
pub fn set_conflict(&mut self, core: Vec<Lit>)
Set the conflict set from UNSAT core
Sourcepub fn get_conflict(&self) -> &[Lit]
pub fn get_conflict(&self) -> &[Lit]
Get the conflict set
Sourcepub fn current_level(&self) -> AssumptionLevel
pub fn current_level(&self) -> AssumptionLevel
Get the current level
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AssumptionStack
impl RefUnwindSafe for AssumptionStack
impl Send for AssumptionStack
impl Sync for AssumptionStack
impl Unpin for AssumptionStack
impl UnsafeUnpin for AssumptionStack
impl UnwindSafe for AssumptionStack
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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