metaSMT 2
|
Run algorithm API. More...
Functions | |
template<typename Vec , template< class T > class Algo> | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted) |
template<typename Vec , template< class T > class Algo, typename ARG0 > | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted, ARG0 arg0) |
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 > | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1) |
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 > | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2) |
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 , typename ARG3 > | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2, ARG3 arg3) |
template<typename Vec , template< class T > class Algo, typename ARG0 , typename ARG1 , typename ARG2 , typename ARG3 , typename ARG4 > | |
eval_visitor< Vec, Algo > ::result_type | metaSMT::run_algorithm (unsigned wanted, ARG0 arg0, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4) |
Run algorithm API.
compile an algorithm for multiple contexts. Select at run-time which algorithm will be used.
The call to run_algorithm is parametrized with an boost MPL sequence of Context-types and an algorithm template that will be instanciated for all Contexts. At run-time specific instance of the Algorithm can be executed by passing its index in the sequence. Furthermore parameters can be passed to the contexts operator().
typedef boost::mpl::vector < DirectSolver_Context < Boolector > , DirectSolver_Context < BitBlast < SAT_Aiger < MiniSAT > > > , DirectSolver_Context < BitBlast < SAT_Aiger < PicoSAT > > > , DirectSolver_Context < BitBlast < CUDD_Context > > , GraphSolver_Context < Boolector > , GraphSolver_Context < BitBlast < SAT_Aiger < MiniSAT > > > , GraphSolver_Context < BitBlast < SAT_Aiger < PicoSAT > > > , GraphSolver_Context < BitBlast < CUDD_Context > > > SolverVec; DirectSolver_Context< Boolector > ctx; template<typename Context> struct MyAlgorithm { typedef void result_type; result_type operator() () { Context ctx; ... } } int main(int argc, const char *argv[]) { unsigned i = atoi(argv[1]); run_algorithm<SolverVec, MyAlgorithm>(i); return 0; }
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted | ) |
Definition at line 249 of file run_algorithm.hpp.
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted, |
ARG0 | arg0, | ||
ARG1 | arg1, | ||
ARG2 | arg2, | ||
ARG3 | arg3, | ||
ARG4 | arg4 | ||
) |
Definition at line 294 of file run_algorithm.hpp.
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted, |
ARG0 | arg0, | ||
ARG1 | arg1, | ||
ARG2 | arg2, | ||
ARG3 | arg3 | ||
) |
Definition at line 285 of file run_algorithm.hpp.
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted, |
ARG0 | arg0, | ||
ARG1 | arg1, | ||
ARG2 | arg2 | ||
) |
Definition at line 276 of file run_algorithm.hpp.
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted, |
ARG0 | arg0, | ||
ARG1 | arg1 | ||
) |
Definition at line 267 of file run_algorithm.hpp.
eval_visitor<Vec, Algo>::result_type metaSMT::run_algorithm | ( | unsigned | wanted, |
ARG0 | arg0 | ||
) |
Definition at line 258 of file run_algorithm.hpp.