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.