#include <z3++.h>
Definition at line 3108 of file z3++.h.
◆ tactic() [1/3]
| tactic |
( |
context & | c, |
|
|
char const * | name ) |
|
inline |
Definition at line 3115 of file z3++.h.
3115:object(c) { Z3_tactic r =
Z3_mk_tactic(c, name); check_error(); init(r); }
Z3_tactic Z3_API Z3_mk_tactic(Z3_context c, Z3_string name)
Return a tactic associated with the given name. The complete list of tactics may be obtained using th...
Referenced by operator&, operator=(), operator|, par_and_then, par_or, repeat, tactic(), try_for, and with.
◆ tactic() [2/3]
| tactic |
( |
context & | c, |
|
|
Z3_tactic | s ) |
|
inline |
Definition at line 3116 of file z3++.h.
3116:object(c) { init(s); }
◆ tactic() [3/3]
| tactic |
( |
tactic const & | s | ) |
|
|
inline |
Definition at line 3117 of file z3++.h.
3117:object(s) { init(s.m_tactic); }
◆ ~tactic()
Definition at line 3118 of file z3++.h.
void Z3_API Z3_tactic_dec_ref(Z3_context c, Z3_tactic g)
Decrement the reference counter of the given tactic.
◆ apply()
Definition at line 3128 of file z3++.h.
3128 {
3131 check_error();
3132 return apply_result(ctx(), r);
3133 }
Z3_apply_result Z3_API Z3_tactic_apply(Z3_context c, Z3_tactic t, Z3_goal g)
Apply tactic t to the goal g.
void check_context(object const &a, object const &b)
Referenced by operator()().
◆ get_param_descrs()
Definition at line 3145 of file z3++.h.
Z3_param_descrs Z3_API Z3_tactic_get_param_descrs(Z3_context c, Z3_tactic t)
Return the parameter description set for the given tactic object.
◆ help()
| std::string help |
( |
| ) |
const |
|
inline |
Definition at line 3137 of file z3++.h.
Z3_string Z3_API Z3_tactic_get_help(Z3_context c, Z3_tactic t)
Return a string containing a description of parameters accepted by the given tactic.
◆ mk_solver()
Definition at line 3127 of file z3++.h.
Z3_solver Z3_API Z3_mk_solver_from_tactic(Z3_context c, Z3_tactic t)
Create a new solver that is implemented using the given tactic. The solver supports the commands Z3_s...
◆ operator Z3_tactic()
| operator Z3_tactic |
( |
| ) |
const |
|
inline |
◆ operator()()
Definition at line 3134 of file z3++.h.
3134 {
3135 return apply(g);
3136 }
◆ operator=()
Definition at line 3120 of file z3++.h.
3120 {
3123 object::operator=(s);
3124 m_tactic = s.m_tactic;
3125 return *this;
3126 }
void Z3_API Z3_tactic_inc_ref(Z3_context c, Z3_tactic t)
Increment the reference counter of the given tactic.
◆ operator&
Definition at line 3148 of file z3++.h.
3148 {
3151 t1.check_error();
3152 return tactic(t1.ctx(), r);
3153 }
Z3_tactic Z3_API Z3_tactic_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2)
Return a tactic that applies t1 to a given goal and t2 to every subgoal produced by t1.
◆ operator|
Definition at line 3155 of file z3++.h.
3155 {
3158 t1.check_error();
3159 return tactic(t1.ctx(), r);
3160 }
Z3_tactic Z3_API Z3_tactic_or_else(Z3_context c, Z3_tactic t1, Z3_tactic t2)
Return a tactic that first applies t1 to a given goal, if it fails then returns the result of t2 appl...
◆ par_and_then
Definition at line 3187 of file z3++.h.
3187 {
3190 t1.check_error();
3191 return tactic(t1.ctx(), r);
3192 }
Z3_tactic Z3_API Z3_tactic_par_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2)
Return a tactic that applies t1 to a given goal and then t2 to every subgoal produced by t1....
◆ par_or
Definition at line 3178 of file z3++.h.
3178 {
3179 if (n == 0) {
3180 Z3_THROW(exception(
"a non-zero number of tactics need to be passed to par_or"));
3181 }
3182 array<Z3_tactic> buffer(n);
3183 for (unsigned i = 0; i < n; ++i) buffer[i] = tactics[i];
3184 return tactic(tactics[0u].ctx(),
Z3_tactic_par_or(tactics[0u].ctx(), n, buffer.ptr()));
3185 }
Z3_tactic Z3_API Z3_tactic_par_or(Z3_context c, unsigned num, Z3_tactic const ts[])
Return a tactic that applies the given tactics in parallel.
◆ repeat
Definition at line 3162 of file z3++.h.
3162 {
3164 t.check_error();
3165 return tactic(t.ctx(), r);
3166 }
Z3_tactic Z3_API Z3_tactic_repeat(Z3_context c, Z3_tactic t, unsigned max)
Return a tactic that keeps applying t until the goal is not modified anymore or the maximum number of...
◆ try_for
Definition at line 3173 of file z3++.h.
3173 {
3175 t.check_error();
3176 return tactic(t.ctx(), r);
3177 }
Z3_tactic Z3_API Z3_tactic_try_for(Z3_context c, Z3_tactic t, unsigned ms)
Return a tactic that applies t to a given goal for ms milliseconds. If t does not terminate in ms mil...
◆ with
Definition at line 3168 of file z3++.h.
3168 {
3170 t.check_error();
3171 return tactic(t.ctx(), r);
3172 }
Z3_tactic Z3_API Z3_tactic_using_params(Z3_context c, Z3_tactic t, Z3_params p)
Return a tactic that applies t using the given set of parameters.