No description
| .github | ||
| Makefile | ||
| Map.hpp | ||
| minimal.cpp | ||
| morseex.cpp | ||
| README.md | ||
| t.cpp | ||
| ta.cpp | ||
| test-kec.cpp | ||
| test-scaling.cpp | ||
| test.cpp | ||
std::map impl for CS440
This repo contains the results of an assignment I completed as a part of my CS 440 class.
The assignment in question was to implement much of the interface that std::map without using std::map with a performance bound requiring the usage of a red-black tree or comparably performant data structure.
The implementation is in the Map.hpp file with testing of that implementation occuring in t.cpp, ta.cpp, minimal.cpp, morseex.cpp, test.cpp test-kec.cpp test-scaling.cpp.
Building
All .cpp files can be built into executables on Linux via the makefile albeit the makefile is currently written to use g++ even though this implementation should work with other C++ compilers (I've only tested building with g++ (GCC) 15.2.1 20260103)
What is is implemented
The following is implemented.
- default, copy and move constructors and assignment operators
- initializer list constructor
- Mutable, Const and Reverse Iterators
- finding a value in the map
O(log(N))time given the key both const and mutably - insertion, modification and erasure of values via various methods
- and comparison operators