pub struct ConfigCtx {
index: usize,
params: Rc<HashMap<Parameter, SMTExpr>>,
loc_vars: HashMap<Location, SMTExpr>,
variable_vars: HashMap<Variable, SMTExpr>,
}Expand description
SMT context for a configuration of a threshold automaton
Fields§
§index: usizeindex of the configuration
params: Rc<HashMap<Parameter, SMTExpr>>reference to parameter variables
loc_vars: HashMap<Location, SMTExpr>location variables
variable_vars: HashMap<Variable, SMTExpr>variable variables
Implementations§
Trait Implementations§
Source§impl ConfigFromSMT for ConfigCtx
impl ConfigFromSMT for ConfigCtx
Source§fn get_assigned_configuration(
&self,
solver: &mut SMTSolver,
res: SMTSolution,
) -> Result<Configuration, SMTSolverError>
fn get_assigned_configuration( &self, solver: &mut SMTSolver, res: SMTSolution, ) -> Result<Configuration, SMTSolverError>
Extract the assignment found by the SMT solver
Source§impl SMTVariableContext<Location> for ConfigCtx
impl SMTVariableContext<Location> for ConfigCtx
Source§fn get_expr_for(&self, expr: &Location) -> Result<SMTExpr, SMTSolverError>
fn get_expr_for(&self, expr: &Location) -> Result<SMTExpr, SMTSolverError>
Source§fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Location>where
Location: 'a,
fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Location>where
Location: 'a,
Get all expressions for which the current context holds an assignment
Source§fn get_solution<'a>(
&'a self,
solver: &mut SMTSolver,
res: SMTSolution,
) -> Result<HashMap<T, u32>, SMTSolverError>
fn get_solution<'a>( &'a self, solver: &mut SMTSolver, res: SMTSolution, ) -> Result<HashMap<T, u32>, SMTSolverError>
Get the solution assignment
Source§impl SMTVariableContext<Parameter> for ConfigCtx
impl SMTVariableContext<Parameter> for ConfigCtx
Source§fn get_expr_for(&self, expr: &Parameter) -> Result<SMTExpr, SMTSolverError>
fn get_expr_for(&self, expr: &Parameter) -> Result<SMTExpr, SMTSolverError>
Source§fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Parameter>where
Parameter: 'a,
fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Parameter>where
Parameter: 'a,
Get all expressions for which the current context holds an assignment
Source§fn get_solution<'a>(
&'a self,
solver: &mut SMTSolver,
res: SMTSolution,
) -> Result<HashMap<T, u32>, SMTSolverError>
fn get_solution<'a>( &'a self, solver: &mut SMTSolver, res: SMTSolution, ) -> Result<HashMap<T, u32>, SMTSolverError>
Get the solution assignment
Source§impl SMTVariableContext<Variable> for ConfigCtx
impl SMTVariableContext<Variable> for ConfigCtx
Source§fn get_expr_for(&self, expr: &Variable) -> Result<SMTExpr, SMTSolverError>
fn get_expr_for(&self, expr: &Variable) -> Result<SMTExpr, SMTSolverError>
Source§fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Variable>where
Variable: 'a,
fn get_exprs<'a>(&'a self) -> impl IntoIterator<Item = &'a Variable>where
Variable: 'a,
Get all expressions for which the current context holds an assignment
Source§fn get_solution<'a>(
&'a self,
solver: &mut SMTSolver,
res: SMTSolution,
) -> Result<HashMap<T, u32>, SMTSolverError>
fn get_solution<'a>( &'a self, solver: &mut SMTSolver, res: SMTSolution, ) -> Result<HashMap<T, u32>, SMTSolverError>
Get the solution assignment
Auto Trait Implementations§
impl Freeze for ConfigCtx
impl RefUnwindSafe for ConfigCtx
impl !Send for ConfigCtx
impl !Sync for ConfigCtx
impl Unpin for ConfigCtx
impl UnwindSafe for ConfigCtx
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