Bonjour,
Je suis en train d'écrire quelques conteneurs thread-safe en ce moment, et tant qu'à faire, je me suis dit que ca pourrait être sympa qu'ils gardent une interface implicite STL-compliant.
J'aimerais par exemple que ma concurrent_deque puisse être utilisée comme une std::queue.
Aussitot dit, aussitot fait, je retrousse mes manches et commence à recopier l'interface de std::deque, et jette un coup d'oeil à l'implémentation de la SGI... et là je commence à avoir quelques gouttes de sueur
Utiliser des iterators et des allocators c'est une chose, mais quand il s'agit de faire un conteneur qui puisse s'en abstraire, et de créer ses propres iterators, ca commence à devenir plus méchant.
L'implémentation de la SGI n'aide pas trop, c'est bourré de petites structures à eux, et autres traits non standards. Du coup, impossible de réutiliser tout ca.
Donc voilà, je suis à la recherche de bons articles (ou livres) qui traiteraient de l'extension de la STL: conteneurs, itérateurs, et algorithmes (la totale, soyons fou).
Pas simple à trouver! Je pensais avoir réussi avec "Generic Programming and the STL: Using and Extending the C++ Standard Template Library" mais les commentaires que j'en voit laissent penser que c'est plutot une référence qu'un guide d'extension.
On trouve quelques articles là dessus sur internet, mais la plupart très vagues.
Donc voilà, je tente le coup, si vous avez de bonnes références sur le sujet, décrivant bien les "bonnes pratiques" et pièges à éviter, pour étendre la STL de façon propre et portable.
Partager