Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/shimazadeh/ft_container

Designed C++ container classes (vector/list/map) from ground up and free from reliance existing libraries, using template metaprogramming techniques, providing essential data structures.
https://github.com/shimazadeh/ft_container

algorithm cpp98 stl-containers

Last synced: about 1 month ago
JSON representation

Designed C++ container classes (vector/list/map) from ground up and free from reliance existing libraries, using template metaprogramming techniques, providing essential data structures.

Awesome Lists containing this project

README

        

# Ft_container
Designed C++ container classes (vector/list/map) from ground up and free from reliance existing libraries,
using template metaprogramming techniques, that behave exactly like the C++ 98 STL containers.

## Requirmenet and Limitations
The containers in Ft_container adhere to the following requirements:
- They must have all public member functions from C++98.
- The corresponding iterators must also be implemented.
- The project includes the following containers:
- Vector
- Map
- Stack

## How to use:
The containers are templated, meaning you can use them with any type, just like you would any other STL containers.
Just include the .hpp corresponding to the container you want to use, and use it! The difference is the namespace
where you would call std::vector, you now call ft::vector. Example of use:



#include "includes/vector.hpp"
#include "includes/map.hpp"
#include "includes/stack.hpp"

// Containers are in the 'ft' namespace
ft::vector vector;
ft::map map;
ft:stack stack;

## Sources:
Here are some useful references for working with C++ containers:
- [C++ Reference](https://cplusplus.com/reference/stl/)
- [CPP Reference](https://en.cppreference.com/w/)

## Testers:
You can use these testers to validate the correctness of your containers:
- [containers_test by @mli42](https://github.com/mli42/containers_test)
- [ft_container_tester by @Mazoise](https://github.com/Mazoise/42TESTERS-CONTAINERS)