Fixed the map, yay
This commit is contained in:
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user