9 for (
const auto& v : variables)
13 this->variable.emplace(v.clone(), v.clone());
20 auto it = this->variable.find(key);
21 return (it == this->variable.end()) ? key : it->second;
26 std::unordered_map<std::string, const BooleanFunction*> res;
27 for (
const auto& [key, value] : this->variable)
29 const auto& key_node = key.get_top_level_node();
30 if (key_node.is_variable())
32 res.emplace(key_node.variable, &value);
42 this->variable.emplace(std::move(key), std::move(value));
const BooleanFunction & get(const BooleanFunction &key) const
std::unordered_map< std::string, const BooleanFunction * > get_bindings() const
SymbolicState(const std::vector< BooleanFunction > &variables={})
void set(const BooleanFunction &key, const BooleanFunction &value)