Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bima42/ft_containers
Implement CPP containers : vector, map and stack
https://github.com/bima42/ft_containers
containers cpp cpp98 map stack vector
Last synced: 1 day ago
JSON representation
Implement CPP containers : vector, map and stack
- Host: GitHub
- URL: https://github.com/bima42/ft_containers
- Owner: Bima42
- Created: 2022-08-15T12:29:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-10T18:05:29.000Z (about 2 years ago)
- Last Synced: 2024-09-28T23:40:55.522Z (about 2 months ago)
- Topics: containers, cpp, cpp98, map, stack, vector
- Language: C++
- Homepage:
- Size: 127 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ft_containers
- [1. Get Started](#get-started)
- [2. Docs](#docs)
- [2.1 Vector](#vector)
- [2.2 Map](#map)
- [2.3 Stack](#stack)
- [2.4 Utils](#utils)
- [3. Testers](#testers)We have to build our own vector, map and stack.
We also have to implement some other STD tools, such as enable_if, iterator_traits, pair etc..# Get Started
```
git clone [email protected]:Bima42/ft_containers.git
``````
make
``````
./containers
```- Use the `--help` to display all possibilities
# Docs
- There is a non exhaustive list of docs that I used to do this project.
- [cplusplus](http://cplusplus.com) and [cppreference](http://cppreference.com) are just awesome for ft_containers. There is a lot to read.
- Be careful to check when functions were added to the container, some since C++11. You don't have to implement those.## Vector
- [Vector and functions](https://cplusplus.com/reference/vector/vector/)
- [Others](https://en.cppreference.com/w/cpp/container/vector)
- C++11 functions :
- cbegin(), cend(), crbegin(), crend()
- shrink_to_fit()
- emplace()
- emplace_back()## Map
- [Map and functions](https://cplusplus.com/reference/map/map)
- [Others](https://en.cppreference.com/w/cpp/container/map)
- [Old but great](https://www.cs.odu.edu/~zeil/cs361/latest/Directory/outline/)
- [Map docs](https://www.cs.odu.edu/~zeil/cs361/latest/Public/maps/index.html)
- [Binary Tree and Iterator](https://www.cs.odu.edu/~zeil/cs361/latest/Public/treetraversal/index.html)
- [BinarySearchTree.h](https://www.cs.odu.edu/~zeil/cs361/latest/Public/treetraversal/BSTwithIterator.h.html)
- [Others](https://en.cppreference.com/w/cpp/container/vector)
- C++11 functions :
- cbegin(), cend(), crbegin(), crend()
- emplace(), emplace_hint()
- C++17 and more :
- insert_or_assign()
- try_emplace()
- extract()
- merge()
- contains()
## Stack
- [Stack and functions](https://cplusplus.com/reference/stack/stack/)
- [Others](https://en.cppreference.com/w/cpp/container/stack)
- C++11 functions :
- emplace()
- swap()## Utils
- [std_allocator](https://en.cppreference.com/w/cpp/memory/allocator)
- [std_allocator](https://cplusplus.com/reference/memory/allocator/)
- [iterator](https://cplusplus.com/reference/iterator/iterator_traits/)
- [reverse_iterator](https://cplusplus.com/reference/iterator/reverse_iterator/reverse_iterator/)
- [enable_if](https://cplusplus.com/reference/type_traits/enable_if/)
- [enable_if](https://www.boost.org/doc/libs/1_39_0/libs/utility/enable_if.html)
- [is_integral](https://cplusplus.com/reference/type_traits/is_integral/)
- [source is_integral](https://code.woboq.org/appleseed/include/boost/type_traits/is_integral.hpp.html)
- [equal](https://cplusplus.com/reference/algorithm/equal/)
- [pair](https://en.cppreference.com/w/cpp/utility/pair)# Testers
Thanks to [@divinepet](https://github.com/divinepet) and [@mli42](https://github.com/mli42)
- [Divinepet Tester](https://github.com/divinepet/ft_containers-unit-test)
- [Mli42 Tester](https://github.com/mli42/containers_test)