Fixed the map, yay

This commit is contained in:
2021-11-09 16:38:26 +01:00
parent 8fe9195fd7
commit c65855c4af
+1 -6
View File
@@ -274,7 +274,6 @@ public:
inline mapped_type& operator[](const key_type& key) inline mapped_type& operator[](const key_type& key)
{ {
root = splay(root, key); root = splay(root, key);
verifyTree();
markIteratorDirty(); markIteratorDirty();
if (root >= nodeContainer.size() if (root >= nodeContainer.size()
|| comp(getNode(root)->pair.key, key) || comp(getNode(root)->pair.key, key)
@@ -288,7 +287,6 @@ public:
inline mapped_type& operator[](key_type&& key) inline mapped_type& operator[](key_type&& key)
{ {
root = splay(root, std::move(key)); root = splay(root, std::move(key));
verifyTree();
markIteratorDirty(); markIteratorDirty();
if (root >= nodeContainer.size() if (root >= nodeContainer.size()
|| comp(getNode(root)->pair.key, key) || comp(getNode(root)->pair.key, key)
@@ -302,7 +300,6 @@ public:
iterator find(const key_type& key) iterator find(const key_type& key)
{ {
root = splay(root, key); root = splay(root, key);
verifyTree();
refreshIterators(); refreshIterators();
if (!isValid(root) if (!isValid(root)
|| comp(getNode(root)->pair.key, key) || comp(getNode(root)->pair.key, key)
@@ -315,7 +312,6 @@ public:
iterator find(key_type&& key) iterator find(key_type&& key)
{ {
root = splay(root, std::move(key)); root = splay(root, std::move(key));
verifyTree();
refreshIterators(); refreshIterators();
if (!isValid(root) if (!isValid(root)
|| comp(getNode(root)->pair.key, key) || comp(getNode(root)->pair.key, key)
@@ -328,14 +324,12 @@ public:
iterator erase(const key_type& key) iterator erase(const key_type& key)
{ {
root = remove(root, key); root = remove(root, key);
verifyTree();
refreshIterators(); refreshIterators();
return iterator(root, &nodeContainer); return iterator(root, &nodeContainer);
} }
iterator erase(K&& key) iterator erase(K&& key)
{ {
root = remove(root, std::move(key)); root = remove(root, std::move(key));
verifyTree();
refreshIterators(); refreshIterators();
return iterator(root, &nodeContainer); return iterator(root, &nodeContainer);
} }
@@ -517,6 +511,7 @@ private:
return r; return r;
Node *newNode = &nodeContainer.emplace(std::forward<KeyType>(key)); Node *newNode = &nodeContainer.emplace(std::forward<KeyType>(key));
node = getNode(r);
if (comp(key, node->pair.key)) if (comp(key, node->pair.key))
{ {