{"id":15047290,"url":"https://github.com/abderrsfa/ft_containers","last_synced_at":"2026-02-10T21:01:58.871Z","repository":{"id":97378909,"uuid":"434212783","full_name":"AbderrSfa/ft_containers","owner":"AbderrSfa","description":"Reimplementing C++98's STL containers. (std::vector, std::stack, std::map)","archived":false,"fork":false,"pushed_at":"2022-03-28T14:39:18.000Z","size":452,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T01:43:09.287Z","etag":null,"topics":["1337","42born2code","avl-tree","cpp","cpp98","iterator","map","stack","stl","stl-containers","vector"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbderrSfa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-02T12:30:19.000Z","updated_at":"2022-10-11T12:25:02.000Z","dependencies_parsed_at":"2024-03-14T04:15:39.221Z","dependency_job_id":null,"html_url":"https://github.com/AbderrSfa/ft_containers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AbderrSfa/ft_containers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbderrSfa%2Fft_containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbderrSfa%2Fft_containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbderrSfa%2Fft_containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbderrSfa%2Fft_containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbderrSfa","download_url":"https://codeload.github.com/AbderrSfa/ft_containers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbderrSfa%2Fft_containers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29316374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T20:44:44.282Z","status":"ssl_error","status_checked_at":"2026-02-10T20:44:43.393Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1337","42born2code","avl-tree","cpp","cpp98","iterator","map","stack","stl","stl-containers","vector"],"created_at":"2024-09-24T20:56:04.721Z","updated_at":"2026-02-10T21:01:58.835Z","avatar_url":"https://github.com/AbderrSfa.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ft_containers\n## 🧐 Description\nThis project is a re-implementation of three container types from the C++ Standard Template Library (STL). `std::vector`, `std::stack`, and `std::map`.\n\nI also implemented:\n\n- `iterator` and `reverse_iterator` for vector and map.\n- `enable_if`.\n- `std::equal` and `std::lexicographical_compare`.\n- `std::pair`.\n\n### ➡️ vector\nVectors are sequence containers representing arrays that can change in size. Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike arrays, their size can change dynamically, with their storage being handled automatically by the container.\n\nThese vector member functions are implemented:\n```\n  - Constructors.\n  - Destructor.\n  - operator=.\n\n  Iterators:\n  - begin\n  - end\n  - rbegin\n  - rend\n\n  Capacity:\n  - size\n  - max_size\n  - resize\n  - capacity\n  - empty\n  - reserve\n\n  Element access:\n  - operator[]\n  - at\n  - front\n  - back\n\n  Modifiers:\n  - assign\n  - push_back\n  - pop_back\n  - insert\n  - erase\n  - swap\n  - clear\n\n  Allocator:\n  - get_allocator\n\nNon-member function overloads:\n  - relational operators\n  - swap\n```\n\n### 📚 stack\nStacks are a type of container adaptor, specifically designed to operate in a LIFO context (last-in first-out), where elements are inserted and extracted only from one end of the container.\nStacks use an encapsulated object of a specific container class as its underlying container, providing a specific set of member functions to access its elements. Elements are pushed/popped from the \"back\" of the specific container, which is known as the top of the stack.\n\nThese vector member functions are implemented:\n```\n  - Constructor\n  - empty\n  - size\n  - top\n  - push\n  - pop\n\nNon-member function overloads:\n  - relational operators\n```\n\n### 🗺 map\nMaps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific order.\nIn a map, the key values are generally used to sort and uniquely identify the elements, while the mapped values store the content associated to this key. The types of key and mapped value may differ.\n\nThese vector member functions are implemented:\n```\n  - Constructors\n  - Destructor\n  - operator=\n\n  Iterators:\n  - begin\n  - end\n  - rbegin\n  - rend\n\n  Capacity:\n  - empty\n  - size\n  - max_size\n\n  Element access:\n  - operator[]\n\n  Modifiers:\n  - insert\n  - erase\n  - swap clear\n\n  Observers:\n  - key_comp\n  - value_comp\n\n  Operations:\n  - find\n  - count\n  - lower_bound\n  - upper_bound\n  - equal_range\n\n  Allocator:\n  - get_allocator\n\nNon-member function overloads:\n  - relational operators\n  - swap\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabderrsfa%2Fft_containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabderrsfa%2Fft_containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabderrsfa%2Fft_containers/lists"}