3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 21:50:52 +00:00

remove template Context dependency in every trail object

This commit is contained in:
Nikolaj Bjorner 2021-02-08 15:41:57 -08:00
parent df0a449f70
commit a152bb1e80
65 changed files with 413 additions and 413 deletions

View file

@ -137,7 +137,7 @@ namespace smt {
void enode::set_generation(context & ctx, unsigned generation) {
if (m_generation == generation)
return;
ctx.push_trail(value_trail<context, unsigned>(m_generation));
ctx.push_trail(value_trail<unsigned>(m_generation));
m_generation = generation;
}
@ -147,13 +147,13 @@ namespace smt {
// m_lbl_hash should be different from -1, if and only if,
// there is a pattern that contains the enode. So,
// I use a trail to restore the value of m_lbl_hash to -1.
ctx.push_trail(value_trail<context, signed char>(m_lbl_hash));
ctx.push_trail(value_trail<signed char>(m_lbl_hash));
unsigned h = hash_u(get_owner_id());
m_lbl_hash = h & (APPROX_SET_CAPACITY - 1);
// propagate modification to the root m_lbls set.
approx_set & r_lbls = m_root->m_lbls;
if (!r_lbls.may_contain(m_lbl_hash)) {
ctx.push_trail(value_trail<context, approx_set>(r_lbls));
ctx.push_trail(value_trail<approx_set>(r_lbls));
r_lbls.insert(m_lbl_hash);
}
}