3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-13 09:31:14 +00:00

remove using insert_if_not_there2

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-25 15:08:51 -07:00
parent 9ea1cf3c5c
commit a884201d62
47 changed files with 172 additions and 208 deletions

View file

@ -64,11 +64,11 @@ namespace datalog {
}
rule_dependencies::item_set & rule_dependencies::ensure_key(func_decl * pred) {
deps_type::obj_map_entry * e = m_data.insert_if_not_there2(pred, 0);
if (!e->get_data().m_value) {
e->get_data().m_value = alloc(item_set);
auto& value = m_data.insert_if_not_there(pred, 0);
if (!value) {
value = alloc(item_set);
}
return *e->get_data().m_value;
return *value;
}
void rule_dependencies::insert(func_decl * depending, func_decl * master) {
@ -324,9 +324,9 @@ namespace datalog {
app * head = r->get_head();
SASSERT(head != 0);
func_decl * d = head->get_decl();
decl2rules::obj_map_entry* e = m_head2rules.insert_if_not_there2(d, 0);
if (!e->get_data().m_value) e->get_data().m_value = alloc(ptr_vector<rule>);
e->get_data().m_value->push_back(r);
auto& value = m_head2rules.insert_if_not_there(d, 0);
if (!value) value = alloc(ptr_vector<rule>);
value->push_back(r);
}
void rule_set::del_rule(rule * r) {