Enable items to be removed from a sequence (#582)

This commit is contained in:
Jiao
2018-05-14 21:50:28 +08:00
committed by Jesse Beder
parent ab5f9259a4
commit 4fb1c4b92b
5 changed files with 105 additions and 19 deletions

View File

@@ -235,6 +235,14 @@ bool node_data::remove(node& key, shared_memory_holder /* pMemory */) {
if (m_type != NodeType::Map)
return false;
kv_pairs::iterator it = m_undefinedPairs.begin();
while (it != m_undefinedPairs.end()) {
kv_pairs::iterator jt = std::next(it);
if (it->first->is(key))
m_undefinedPairs.erase(it);
it = jt;
}
for (node_map::iterator it = m_map.begin(); it != m_map.end(); ++it) {
if (it->first->is(key)) {
m_map.erase(it);