mirror of
https://github.com/Z3Prover/z3
synced 2026-06-19 07:06:28 +00:00
Merge 9a0272528a into 76cceddb73
This commit is contained in:
commit
9e0aa272a8
4 changed files with 15 additions and 5 deletions
|
|
@ -23,6 +23,7 @@ set(CLANG_ONLY_WARNINGS
|
|||
"-Wc99-extensions"
|
||||
"-Wsuggest-override"
|
||||
"-Winconsistent-missing-override"
|
||||
"-Wmissing-field-initializers"
|
||||
)
|
||||
set(MSVC_WARNINGS "/W3")
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ public:
|
|||
}
|
||||
|
||||
entry * find_core(key const & k) const {
|
||||
return m_table.find_core(key_data{k});
|
||||
return m_table.find_core(key_data{k, value{}});
|
||||
}
|
||||
|
||||
bool find(key const & k, value & v) const {
|
||||
|
|
@ -137,7 +137,7 @@ public:
|
|||
}
|
||||
|
||||
iterator find_iterator(key const & k) const {
|
||||
return m_table.find(key_data{k});
|
||||
return m_table.find(key_data{k, value{}});
|
||||
}
|
||||
|
||||
value const & find(key const& k) const {
|
||||
|
|
@ -162,7 +162,7 @@ public:
|
|||
}
|
||||
|
||||
void remove(key const & k) {
|
||||
m_table.remove(key_data{k});
|
||||
m_table.remove(key_data{k, value{}});
|
||||
}
|
||||
|
||||
void erase(key const & k) {
|
||||
|
|
|
|||
|
|
@ -62,6 +62,11 @@ public:
|
|||
struct key_data {
|
||||
Key * m_key = nullptr;
|
||||
Value m_value;
|
||||
|
||||
key_data() : m_key(nullptr), m_value(Value()) {}
|
||||
key_data(Key * key) : m_key(key), m_value(Value()) {}
|
||||
key_data(Key * key, const Value & value) : m_key(key), m_value(value) {}
|
||||
|
||||
Value const & get_value() const { return m_value; }
|
||||
Key & get_key () const { return *m_key; }
|
||||
unsigned hash() const { return m_key->hash(); }
|
||||
|
|
@ -198,9 +203,9 @@ public:
|
|||
}
|
||||
|
||||
void remove(Key * k) {
|
||||
m_table.remove(key_data{k});
|
||||
m_table.remove(key_data{k, value{}});
|
||||
}
|
||||
|
||||
|
||||
void erase(Key * k) {
|
||||
remove(k);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@ class symbol_table {
|
|||
struct key_data {
|
||||
symbol m_key;
|
||||
T m_data;
|
||||
|
||||
key_data() {}
|
||||
key_data(const symbol & key) : m_key(key) {}
|
||||
key_data(const symbol & key, const T & data) : m_key(key), m_data(data) {}
|
||||
};
|
||||
|
||||
struct key_data_hash_proc {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue