[][src]Struct batsat::core::Solver

pub struct Solver<Cb: Callbacks> { /* fields omitted */ }

The main solver structure.

Each instance is a full-fledged SAT solver, and it can be parametrized further with a theory::TheoryArg and with basic callbacks::Callbacks.

A Solver object contains the whole state of the SAT solver, including a clause allocator, literals, clauses, and statistics.

Implementations

impl<Cb: Callbacks> Solver<Cb>[src]

pub fn new(opts: SolverOpts, cb: Cb) -> Self[src]

Create a new solver with the given options and the callbacks cb.

impl<Cb: Callbacks> Solver<Cb>[src]

pub fn new_with(opts: SolverOpts, cb: Cb) -> Self[src]

Create a new solver with the given options and callbacks.

pub fn cb_mut(&mut self) -> &mut Cb[src]

Temporary access to the callbacks

pub fn cb(&self) -> &Cb[src]

Temporary access to the callbacks

pub fn dimacs_model(&self) -> SolverPrintDimacs<'_, Cb>[src]

pub fn interrupt_async(&self)[src]

Interrupt search asynchronously

Trait Implementations

impl<Cb: Callbacks + Default> Default for Solver<Cb>[src]

impl<Cb: Callbacks> SolverInterface for Solver<Cb>[src]

Auto Trait Implementations

impl<Cb> RefUnwindSafe for Solver<Cb> where
    Cb: RefUnwindSafe
[src]

impl<Cb> Send for Solver<Cb> where
    Cb: Send
[src]

impl<Cb> Sync for Solver<Cb> where
    Cb: Sync
[src]

impl<Cb> Unpin for Solver<Cb> where
    Cb: Unpin
[src]

impl<Cb> UnwindSafe for Solver<Cb> where
    Cb: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.