cs440-assignment2/README.md

1.1 KiB

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