pub struct Kissat { /* private fields */ }
Expand description
A SolverAdaptor for interacting with the Kissat SAT solver.
Implementations§
Trait Implementations§
Source§impl SolverAdaptor for Kissat
impl SolverAdaptor for Kissat
Source§fn solve(
&mut self,
callback: Box<dyn Fn(HashMap<Name, Literal>) -> bool + Send>,
_: Internal,
) -> Result<SolveSuccess, SolverError>
fn solve( &mut self, callback: Box<dyn Fn(HashMap<Name, Literal>) -> bool + Send>, _: Internal, ) -> Result<SolveSuccess, SolverError>
Runs the solver on the given model. Read more
Source§fn solve_mut(
&mut self,
callback: Box<dyn Fn(HashMap<Name, Literal>, Box<dyn ModelModifier>) -> bool + Send>,
_: Internal,
) -> Result<SolveSuccess, SolverError>
fn solve_mut( &mut self, callback: Box<dyn Fn(HashMap<Name, Literal>, Box<dyn ModelModifier>) -> bool + Send>, _: Internal, ) -> Result<SolveSuccess, SolverError>
Runs the solver on the given model, allowing modification of the model through a
ModelModifier
. Read morefn load_model(&mut self, model: Model, _: Internal) -> Result<(), SolverError>
Source§fn get_family(&self) -> SolverFamily
fn get_family(&self) -> SolverFamily
Get the solver family that this solver adaptor belongs to
fn init_solver(&mut self, _: Internal)
Source§fn add_adaptor_info_to_stats(&self, stats: SolverStats) -> SolverStats
fn add_adaptor_info_to_stats(&self, stats: SolverStats) -> SolverStats
Adds the solver adaptor name and family (if they exist) to the given stats object.
Auto Trait Implementations§
impl Freeze for Kissat
impl RefUnwindSafe for Kissat
impl Send for Kissat
impl Sync for Kissat
impl Unpin for Kissat
impl UnwindSafe for Kissat
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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