Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jesuisstan/42_stl_containers
implementation of C++ standard template library container types
https://github.com/jesuisstan/42_stl_containers
42 cpp cpp98 makefile map oop red-black-tree set stack stl-containers vector
Last synced: about 1 month ago
JSON representation
implementation of C++ standard template library container types
- Host: GitHub
- URL: https://github.com/jesuisstan/42_stl_containers
- Owner: jesuisstan
- Created: 2023-05-17T16:09:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-20T08:22:35.000Z (3 months ago)
- Last Synced: 2024-10-19T19:46:48.298Z (3 months ago)
- Topics: 42, cpp, cpp98, makefile, map, oop, red-black-tree, set, stack, stl-containers, vector
- Language: C++
- Homepage:
- Size: 1.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42_stl_containers
## Foreword
This is one of the Ecole 42 common core projects.\
It is about implementing some container types of the C++ standard template library.\
The project is written with the C++98 standard, so any later feature of the containers is not implemented, \
but every C++98 feature (even deprecated ones) is done.
The projects provides good understanding of Object-oriented programming and Red-Black tree logic.## Description
The following containers implemented and turned in the necessary `.hpp` files with
a `Makefile`:
- vector
- map
- stack
- set (Red-Black tree)Also implemented:
- std::iterator_traits
- std::reverse_iterator
- std::enable_if
- std::is_integral
- std::equal and/or std::lexicographical_compare
- std::pair
- std::make_pairFull project description you can find in `en.subject.pdf`
## Requirements
- installed clang++
- installed Makefile## How to use
In project directory:
1. Run the `test.sh` to difference between STL and my containers performance\
(the content of performed test can be checked in `main_ft.cpp` and `main_stl.cpp` files).
2. Run `make fclean` to delete all created files.