3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00

Basic support for non-copyable types in map

This commit is contained in:
Jakob Rath 2022-08-02 12:30:47 +02:00
parent e105a91d4a
commit 6c4d60c5af

View file

@ -33,6 +33,10 @@ struct _key_data {
m_key(k),
m_value(v) {
}
_key_data(Key const& k, Value&& v):
m_key(k),
m_value(std::move(v)) {
}
};
template<typename Entry, typename HashProc, typename EqProc>
@ -106,6 +110,10 @@ public:
void insert(key const & k, value const & v) {
m_table.insert(key_data(k, v));
}
void insert(key const& k, value&& v) {
m_table.insert(key_data(k, std::move(v)));
}
bool insert_if_not_there_core(key const & k, value const & v, entry *& et) {
return m_table.insert_if_not_there_core(key_data(k,v), et);