The "ft_containers" repository contains my implementation of the ft_containers project from the 42School curriculum. This project involves creating custom implementations of various container classes from the C++ Standard Library.
The ft_containers project is an intense and challenging task that requires implementing custom versions of fundamental container classes in C++. These container classes include vector, set, stack, and map, along with their respective iterators. The goal is to replicate the functionality and behavior of the corresponding classes from the C++ Standard Library.
As a beginner in C++ programming as I was at the time of writing this repo, the ft_containers project posed a significant step up in terms of difficulty. It required me to go deep into C++ concepts such as templates, iterators, memory management, and object-oriented programming. Through extensive research and especially peer-to-peer learning, I was able to overcome the challenges and implement these container classes.
-
Custom implementation of the following container classes:
- vector: A dynamic array that allows random access and automatic resizing.
- set: An associative container that stores unique elements.
- stack: A Last-In-First-Out (LIFO) data structure.
- map: An associative container that stores key-value pairs in a sorted order.
-
Each container class provides a set of member functions and iterators, closely resembling their counterparts in the C++ Standard Library.