Change 14220

ShadauxCat (ShadauxCat)
ShadauxCat committed this change into //guest/ShadauxCat/Sprawl/Mainline under Review 14221
View Review
Download .zip
-Added binary tree implementation (red/black tree) with same multi-key interface as hashmap
-Renamed AccessorGroup to MapAccessorGroup to make room for TreeAccessorGroup, which is a lot of duplicated code but had to meet some specific requirements that couldn't be easily fit into the existing AccessorGroup
-Fixed HashMap::Clear() not resetting size to 0
-Fixed HashMap::Erase() neither decrementing size nor freeing memory
-Changed HashMap to grow before insert instead of after (delaying needed growth until the next insert instead of growing when it detects the next insert will need it)
-Fixed a style issue for private function HashMap_Impl::insertHere_()
-Fully removed support for Visual Studio 2012 as I have neither the need nor the desire to continue supporting it. The doubled maintenance cost is too high.
-Included array unit test that got missed before

#review-14221
  • Files 16
  • Comments 0
5 edited 5 added 6 deleted
UnitTests/UnitTests_Array.cpp#1
Loading...
UnitTests/UnitTests_BinaryTree.cpp#1
Loading...
collections/BinaryTree.hpp#2
Loading...
collections/HashMap.hpp#5
Loading...
collections/accessor/AccessorGroup.hpp#2
Loading...
collections/accessor/AccessorGroup_BinaryTree.hpp#1
Loading...
collections/accessor/AccessorGroup_HashMap.hpp#1
Loading...
collections/accessor/AccessorGroup_Variadic.hpp#6
Loading...
collections/accessor/AccessorGroup_Windows.hpp#4
Loading...
collections/binarytree/BinaryTree_Variadic.hpp#2
Loading...
collections/binarytree/BinaryTree_Windows.hpp#2
Loading...
collections/hashmap/HashIterator.hpp#2
Loading...
collections/hashmap/HashMap_Variadic.hpp#7
Loading...
collections/hashmap/HashMap_Windows.hpp#4
Loading...
collections/iterator/MapIterator.hpp#3
Loading...
collections/iterator/TreeIterator.hpp#1
Loading...
Tip: Use n and p to cycle through the changes.