3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-10 17:25:47 +00:00

remove template dependency for trail objects

This commit is contained in:
Nikolaj Bjorner 2021-03-19 11:14:20 -07:00
parent c05c5caab5
commit 15a7621e27
28 changed files with 46 additions and 58 deletions

View file

@ -35,7 +35,6 @@ namespace smt {
class theory_array : public theory_array_base {
protected:
typedef trail_stack<theory_array> th_trail_stack;
typedef union_find<theory_array> th_union_find;
struct var_data {
@ -51,7 +50,7 @@ namespace smt {
theory_array_params& m_params;
theory_array_stats m_stats;
th_union_find m_find;
th_trail_stack m_trail_stack;
trail_stack m_trail_stack;
unsigned m_final_check_idx;
theory_var mk_var(enode * n) override;
@ -104,7 +103,7 @@ namespace smt {
virtual void display_var(std::ostream & out, theory_var v) const;
void display(std::ostream & out) const override;
void collect_statistics(::statistics & st) const override;
th_trail_stack & get_trail_stack() { return m_trail_stack; }
trail_stack & get_trail_stack() { return m_trail_stack; }
virtual void merge_eh(theory_var v1, theory_var v2, theory_var, theory_var);
static void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) {}
void unmerge_eh(theory_var v1, theory_var v2);