[][src]Struct z3::Context

pub struct Context { /* fields omitted */ }

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. The only exception is the method interrupt() that can be used to interrupt a long computation.

Examples:

Creating a context with the default configuration:

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

Methods

impl Context[src]

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

pub fn interrupt(&self)[src]

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

This method can be invoked from a thread different from the one executing the interruptible procedure.

Trait Implementations

impl Drop for Context[src]

impl PartialEq<Context> for Context[src]

impl Eq for Context[src]

impl Debug for Context[src]

Auto Trait Implementations

impl !Send for Context

impl Unpin for Context

impl !Sync for Context

impl UnwindSafe for Context

impl RefUnwindSafe for Context

Blanket Implementations

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.

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

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

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