This project is a recreation of the C++ Standard Template Library (STL) containers - vector, stack, map, and set - with their own custom iterators. In addition to the containers and iterators, this project also includes some useful utilities like is_integral, enable_if, and iterator_traits.
The STL containers and iterators are a fundamental part of modern C++ programming. By recreating them from scratch, this project aims to provide a deeper understanding of how these data structures work and how they can be customized to fit specific use cases. Additionally, the project introduces some useful utilities that can make generic programming easier and more efficient.
To use this project, simply clone the repository and navigate to the root
directory. Then, type make
to compile the project. This will
create a binary file named main
in the root directory. To run
the program, type ./main
.
The program included in this project demonstrates the usage of the vector container and its iterators. You can modify the program to test out the other containers and utilities included in the project.
This project includes unit tests for each of the containers. These tests ensure that the containers are functioning correctly and produce the expected output.
For those who are new to STL containers or are looking for a comprehensive
guide,i also created a Notion guide titled
"THE ULTIMATE GUIDE to STL Containers for Dummies". This guide covers the
basics of STL containers, their common use cases, and advanced topics like
iterators and algorithms. You can access the guide at the following link:
https://www.notion.so/containersfordummies/THE-ULTIMATE-GUIDE-e7f20768377544409ca8d036b1ab9b7f
.
This project is licensed under the MIT License - see the LICENSE file for details.