#include <smt_tuple_sym_ast.h>
|
| | tuple_sym_smt_ast (smt_solver_baset *ctx, smt_sortt s, std::string _name) |
| | Primary constructor.
|
| | ~tuple_sym_smt_ast () override=default |
| smt_astt | ite (smt_solver_baset *ctx, smt_astt cond, smt_astt falseop) const override |
| smt_astt | eq (smt_solver_baset *ctx, smt_astt other) const override |
| | Abstractly produce an equality.
|
| smt_astt | update (smt_solver_baset *ctx, smt_astt value, unsigned int idx, const expr2tc &idx_expr=expr2tc()) const override |
| | Abstractly produce an "update", i.e., an array 'with' or tuple 'with'.
|
| smt_astt | select (smt_solver_baset *ctx, const expr2tc &idx) const override |
| | Select a value from an array, for both normal arrays and tuple arrays.
|
| smt_astt | project (smt_solver_baset *ctx, unsigned int elem) const override |
| | Project a member from a structure, or an field-array from a struct array.
|
| void | dump () const override |
| | smt_ast (smt_solver_baset *ctx, smt_sortt s) |
| virtual | ~smt_ast ()=default |
| virtual smt_astt | with_sort (smt_solver_baset *ctx, smt_sortt s) const |
| | The same solver term under a different sort.
|
| virtual void | assign (smt_solver_baset *ctx, smt_astt sym) const |
| | Abstractly produce an assign.
|
|
| const std::string | name |
| | The symbol prefix of the variables representing this tuples value, as a string (i.e., no associated type).
|
| smt_sortt | sort |
| | The sort of this function application.
|
| const smt_solver_baset * | context |
| | The solver context.
|
◆ tuple_sym_smt_ast()
Primary constructor.
- Parameters
-
| s | The sort of the tuple, of type tuple_smt_sort. |
| _name | The symbol prefix of the variables representing this tuples value. |
◆ ~tuple_sym_smt_ast()
| tuple_sym_smt_ast::~tuple_sym_smt_ast |
( |
| ) |
|
|
overridedefault |
◆ dump()
| void tuple_sym_smt_ast::dump |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ eq()
Abstractly produce an equality.
Does the right thing (TM) whether it's a normal piece of AST or a tuple / array.
- Parameters
-
| ctx | SMT context to produce the equality in. |
| other | Piece of AST to compare 'this' with. |
- Returns
- Boolean typed AST representing an equality
Reimplemented from smt_ast.
◆ ite()
◆ project()
Project a member from a structure, or an field-array from a struct array.
- Parameters
-
| ctx | SMT context to produce this in. |
| elem | Struct index to project. |
- Returns
- AST representing the chosen element / element-array
Reimplemented from smt_ast.
◆ select()
Select a value from an array, for both normal arrays and tuple arrays.
- Parameters
-
| ctx | SMT context to produce this in. |
| idx | Index to select the value from. |
- Returns
- AST of the array's range sort representing the selected item
Reimplemented from smt_ast.
◆ update()
Abstractly produce an "update", i.e., an array 'with' or tuple 'with'.
- Parameters
-
| ctx | SMT context to make this update in. |
| value | Value to insert into the updated field |
| idx | Array index or tuple field |
| idx_expr | If an array, expression representing the index |
- Returns
- AST of this type, representing the update
Reimplemented from smt_ast.
◆ name
| const std::string tuple_sym_smt_ast::name |
The symbol prefix of the variables representing this tuples value, as a string (i.e., no associated type).
The documentation for this class was generated from the following files: