3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

a lot of seq churn

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-17 18:21:40 -07:00
parent b8bf6087ff
commit 3e9479d01a
10 changed files with 388 additions and 282 deletions

View file

@ -138,6 +138,17 @@ public:
void undo(Ctx & ctx) override { m_map.remove(m_obj); }
};
template<typename Ctx, typename D, typename R>
class remove_obj_map : public trail<Ctx> {
obj_map<D,R>& m_map;
D* m_obj;
R m_value;
public:
remove_obj_map(obj_map<D,R>& t, D* o, R v) : m_map(t), m_obj(o), m_value(v) {}
~remove_obj_map() override {}
void undo(Ctx & ctx) override { m_map.insert(m_obj, m_value); }
};
template<typename Ctx, typename M, typename D>
class insert_map : public trail<Ctx> {
M& m_map;