Re-implementations of some of the C++98 STL containers and utilities, written in the ft
namespace for my 42 school project.
Containers
ft::vector
(novector<bool>
specialization)ft::map
ft::set
with anrb_tree
ft::stack
(defaults toft::vector
as underlying container, but remains compatible with others) Utilities & traitsstd::iterator_traits
std::reverse_iterator
std::enable_if
(SFINAE, re-created in C++98)std::is_integral
std::pair
,std::make_pair
std::equal
and/orstd::lexicographical_compare
# Functional tests
./run_tests.sh
# Speed tests
./run_tests.sh -s
- Binaries:
bin/
(e.g.,ft_test_map_begin
,std_test_map_begin
, …) - Logs:
logs/
(build and run logs per test) - The script builds and runs both namespaces (ft & stl) and prints ✅/❌ per case.
# Build one test for both namespaces (example: map_begin)
make ft_test_map_begin n=ft
make std_test_map_begin n=std
# Run them
./bin/ft_test_map_begin
./bin/std_test_map_begin