This school project re-implements following C++ STL containers:
- vector
- map
- stack
- set
- This project is written in
C++98
(based on school requirement). - The namespace is
ft
and all containers are tested usingft::<container>
as opposed tostd::<container>
. - For each container, all public member functions from C++98 version are re-implemented. Iterators are also re-implemented.
- Both
AVL-Tree
andRed-Black-Tree
are implemented formap
andset
.
This program is composed of tests for every public member function for each container. Output is printed out to a log file. Test for each container is timed by a timer to indicate calculation efficiency.
./run.sh [OPTION]
OPTION = "EXTREME" | "CATCH"
- Without any option: the test runs first for
ft::<container>
, output toft.log
; then runs exactly the same way forstd::<container>
, output tostd.log
. At the end, two log files will be compared to indicate difference. EXTREME
: container size up to 100,000 ~ 1 million will be tested in this option.CATCH
: exceptions (from vector) will be tested under this option usingCATCH2
framework