Struct z3::Context

source ·
pub struct Context { /* private fields */ }
Expand description

Manager of all other Z3 objects, global configuration options, etc.

An application may use multiple Z3 contexts. Objects created in one context cannot be used in another one. However, several objects may be “translated” from one context to another. It is not safe to access Z3 objects from multiple threads.

Examples:

Creating a context with the default configuration:

use z3::{Config, Context};
let cfg = Config::new();
let ctx = Context::new(&cfg);

See also:

Implementations§

source§

impl Context

source

pub fn new(cfg: &Config) -> Context

source

pub fn interrupt(&self)

Interrupt a solver performing a satisfiability test, a tactic processing a goal, or simplify functions.

source

pub fn handle(&self) -> ContextHandle<'_>

Obtain a handle that can be used to interrupt computation from another thread.

See also:
source

pub fn update_param_value(&mut self, k: &str, v: &str)

Update a global parameter.

See also
source

pub fn update_bool_param_value(&mut self, k: &str, v: bool)

Update a global parameter.

This is a helper function.

See also

Trait Implementations§

source§

impl Debug for Context

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for Context

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl PartialEq<Context> for Context

source§

fn eq(&self, other: &Context) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Context

source§

impl StructuralEq for Context

source§

impl StructuralPartialEq for Context

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.