Description
Les nombreux containers du C++ ont de divers intérêts. Afin de bien les comprendre, nous allons les ré-implémenter !
Mandatory part
- Implémentez les containers suivants, et rendez les fichiers .hpp nécessaires.
- Vous devez également rendre un main.cpp qui teste votre rendu en vue des évaluations.
- Vous n’avez pas a implémenter get_allocator. Le reste est demandé, incluant les overloads non-membres.
- Si votre fonction utilise un système d’itérateur, vous devez le ré-implémenter.
- Vous pouvez utiliser http://www.cplusplus.com/ en reférence de quoi implémenter.
- Vous ne devez pas avoir plus de fonctions/variables publiques que celles proposées dans les containers standard. Le reste doit être protected/private.
- Pour les overloads non-membres, le mot-clé friend est autorisé. Chaque utilisation de friend doit être justifié et sera vérifié pendant les évaluations.
Vous devez rendre les containers suivants et leur fonctions associés :
- List
- Vector
- Map
- Stack
- Queue
Bien entendu, la STL est interdite. Vous pouvez par contre utiliser la STD.
Si vous avez complètement fini la partie obligatoire, vous pouvez essayer de rendre la partie bonus. Réimplémentez les containers suivants :
- Deque
- Set
- Multiset
- Multimap