metaSMT 2
|
direct Solver integration More...
#include <DirectSolver_Context.hpp>
Public Types | |
typedef SolverContext::result_type | result_type |
The returned expression type is the result_type of the SolverContext. | |
Public Member Functions | |
DirectSolver_Context () | |
template<typename Expr1 , typename Expr2 > | |
result_type | operator() (logic::QF_BV::tag::bvuint_tag const &tag, Expr1 value, Expr2 bw) |
template<typename Expr1 , typename Expr2 > | |
result_type | operator() (logic::QF_BV::tag::bvsint_tag const &tag, Expr1 value, Expr2 bw) |
template<typename Expr1 > | |
result_type | operator() (logic::QF_BV::tag::bvbin_tag tag, Expr1 value) |
template<typename Expr1 > | |
result_type | operator() (logic::QF_BV::tag::bvhex_tag tag, Expr1 value) |
result_type | operator() (boost::proto::tag::terminal,::metaSMT::logic::tag::var_tag tag) |
handling of logic::predicate (boolean variables) | |
result_wrapper | read_value (logic::predicate var) |
result retrieval for logic::predicate (boolean variables) | |
result_wrapper | read_value (logic::QF_BV::bitvector var) |
result retrieval for logic::QF_BV::bitvector variables | |
result_type | operator() (boost::proto::tag::terminal,::metaSMT::logic::Array::tag::array_var_tag tag) |
result_type | operator() (boost::proto::tag::terminal,::metaSMT::logic::QF_BV::tag::var_tag tag) |
template<typename Upper , typename Lower , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::extract_tag t, Upper upper, Lower lower, Expr e) |
template<typename Width , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::zero_extend_tag t, Width width, Expr e) |
template<typename Width , typename Expr > | |
result_type | operator() (logic::QF_BV::tag::sign_extend_tag t, Width width, Expr e) |
template<typename Tag > | |
result_type | operator() (Tag t) |
template<typename Tag > | |
result_type | operator() (boost::proto::tag::terminal, Tag t) |
template<typename Tag , typename Expr1 > | |
result_type | operator() (Tag t, Expr1 e1) |
template<typename Tag , typename Expr1 , typename Expr2 > | |
result_type | operator() (Tag t, Expr1 e1, Expr2 e2) |
template<typename Tag , typename Expr1 , typename Expr2 , typename Expr3 > | |
result_type | operator() (Tag t, Expr1 e1, Expr2 e2, Expr3 e3) |
result_type | operator() (boost::proto::tag::terminal, result_type r) |
void | command (assertion_cmd const &, result_type e) |
void | command (assumption_cmd const &, result_type e) |
direct Solver integration
DirectSolver_Context takes a SolverType and directly feeds all commands to it. Variable expressions are cached and only evaluated once.
Definition at line 26 of file DirectSolver_Context.hpp.
typedef SolverContext::result_type metaSMT::DirectSolver_Context< SolverContext >::result_type |
The returned expression type is the result_type of the SolverContext.
Definition at line 33 of file DirectSolver_Context.hpp.
metaSMT::DirectSolver_Context< SolverContext >::DirectSolver_Context | ( | ) | [inline] |
Definition at line 30 of file DirectSolver_Context.hpp.
void metaSMT::DirectSolver_Context< SolverContext >::command | ( | assertion_cmd const & | , |
result_type | e | ||
) | [inline] |
Definition at line 250 of file DirectSolver_Context.hpp.
void metaSMT::DirectSolver_Context< SolverContext >::command | ( | assumption_cmd const & | , |
result_type | e | ||
) | [inline] |
Definition at line 253 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | boost::proto::tag::terminal | , |
::metaSMT::logic::QF_BV::tag::var_tag | tag | ||
) | [inline] |
Definition at line 163 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | boost::proto::tag::terminal | , |
result_type | r | ||
) | [inline] |
Definition at line 246 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | Tag | t, |
Expr1 | e1, | ||
Expr2 | e2, | ||
Expr3 | e3 | ||
) | [inline] |
Definition at line 238 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | Tag | t, |
Expr1 | e1, | ||
Expr2 | e2 | ||
) | [inline] |
Definition at line 230 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | Tag | t, |
Expr1 | e1 | ||
) | [inline] |
Definition at line 223 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::extract_tag | t, |
Upper | upper, | ||
Lower | lower, | ||
Expr | e | ||
) | [inline] |
Definition at line 178 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | Tag | t | ) | [inline] |
Definition at line 213 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::bvsint_tag const & | tag, |
Expr1 | value, | ||
Expr2 | bw | ||
) | [inline] |
Definition at line 51 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::zero_extend_tag | t, |
Width | width, | ||
Expr | e | ||
) | [inline] |
Definition at line 190 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | boost::proto::tag::terminal | , |
::metaSMT::logic::tag::var_tag | tag | ||
) | [inline] |
handling of logic::predicate (boolean variables)
Definition at line 84 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | boost::proto::tag::terminal | , |
::metaSMT::logic::Array::tag::array_var_tag | tag | ||
) | [inline] |
Definition at line 149 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::bvhex_tag | tag, |
Expr1 | value | ||
) | [inline] |
Definition at line 75 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | boost::proto::tag::terminal | , |
Tag | t | ||
) | [inline] |
Definition at line 218 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::sign_extend_tag | t, |
Width | width, | ||
Expr | e | ||
) | [inline] |
Definition at line 201 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::bvuint_tag const & | tag, |
Expr1 | value, | ||
Expr2 | bw | ||
) | [inline] |
Definition at line 37 of file DirectSolver_Context.hpp.
result_type metaSMT::DirectSolver_Context< SolverContext >::operator() | ( | logic::QF_BV::tag::bvbin_tag | tag, |
Expr1 | value | ||
) | [inline] |
Definition at line 65 of file DirectSolver_Context.hpp.
result_wrapper metaSMT::DirectSolver_Context< SolverContext >::read_value | ( | logic::predicate | var | ) | [inline] |
result retrieval for logic::predicate (boolean variables)
Definition at line 108 of file DirectSolver_Context.hpp.
result_wrapper metaSMT::DirectSolver_Context< SolverContext >::read_value | ( | logic::QF_BV::bitvector | var | ) | [inline] |
result retrieval for logic::QF_BV::bitvector variables
Definition at line 130 of file DirectSolver_Context.hpp.