A re-implementation of the vector, stack, map and set C++ containers from the STL. The stack implementation is based on the vector implementation, and the set one on map.
The underlying structure of vector is a dynamic array, and for map, it's a red-black tree. The code was made to be modular and reusable: for exemple, the binary tree used in map can also be used alone.
Copy the wanted containers header files, and also utils, iterator, binary_tree (for map and set) directories into your project. Then, just include the container in your code.
myFile.cpp
#include "[path_to_the_copied_container]/vector.hpp"To really understand how the STL containers worked, and to be sure that my implementation was behaving correctly, I created a unit testing tool called Cavalry. You can find more informations about it on it's repository.
.devcontainer, .vscode, .clang-format and compile_flags.txt where files/directories needed to facilitate development. They where used to: have a common dev environment, launch debugger, and use lldb and clang-format.