- [✅] vector, Vous n’avez pas à faire la spécialisationvector <bool>.
- [✅] map
- [✅] stack : Elle utilisera votre classe vector comme container sous-jacent par défaut. Cependant, elle restera compatible avec les autres containers, ceux de la STL inclus.
- [✅] iterators_traits
- [✅] reverse_iterator
- [✅] enable_if Oui, il s’agit de C++11 mais vous saurez le refaire en C++98. Le but est de vous faire découvrir SFINAE.
- [✅] is_integral
- [✅] equal et/ou lexicographical_compare
- [✅] std::pair
- [✅] std::make_pair
- Pour les surcharges non-membres, le mot-clé friend est autorisé .
- Chaque utilisation de friend doit être justifiée et sera vérifiée en évaluation
- Bien entendu, pour implémentermap::value_compare, le mot-cléfriendest autorisé.
- Comparez les sortieset les performances / temps(vos containers peuvent être jusqu’à 20 fois plus lents que les originaux).
- Pour tester vos containers :ft::
- [✅] iterator
PDF standart de C++98 Une intro sur les iterateurs Les red black tree destroy red black tree
- pas de point .tpp ou .cpp pour les container (oui c'est dans le titre je sais)
- je vous conseil vivement de commencer par les fichier iterators_traits, reverse_iterator, enable_if, is_integral, equal, pair et make_pair. Vous en aurez besoins pour autres et ils vous permettront de les faire plus rapidement.