Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sdk-meb/ft_containers.42

Project aims to re-implement an STL C++ containers such as vector, map, stack, and potentially set while adhering to the C++98 standard. The goal is to ensure a deep understanding of these containers and to develop custom implementations that comply with C++98 features and restrictions.
https://github.com/sdk-meb/ft_containers.42

1337school 42born2code containers cpp cpp98 data-structures data-types makefile redblack-tree

Last synced: 6 days ago
JSON representation

Project aims to re-implement an STL C++ containers such as vector, map, stack, and potentially set while adhering to the C++98 standard. The goal is to ensure a deep understanding of these containers and to develop custom implementations that comply with C++98 features and restrictions.

Awesome Lists containing this project

README

        

# ft_container

![CPP Containers ](./screenShot/CppContainers.jpg)

## Project Description

The "ft_container" project is a C++98 standard-compliant re-implementation of essential C++ containers such as vector, map, stack, and optionally set using a Red-Black tree.

## Features

- Custom implementations of vector, map, and stack adhering to C++98.
- In-depth understanding of container design and memory management.
- Performance and functionality comparisons with STL containers.

## Project Structure

- `ft_vector`: Custom vector implementation
- `ft_map`: Custom map implementation using a Red-Black tree
- `ft_stack`: Custom stack implementation
- `ft_set` (bonus): Custom set implementation using a Red-Black tree

## Requirements and Constraints

- Adherence to C++98 standard.
- Avoidance of memory leakage.
- Custom implementations without using STL containers.
- ...

## Testing

![make then run with ](./screenShot/make.png)
![test](./screenShot/test.png)

![OPS](./screenShot/mainTest.png)

## Performance

![time](./screenShot/time.png)