Les nouveautés :
Boost.Context : cette nouvelle bibliothèque permet de gérer des contextes d'exécution - pile, registres - dans un cadre monothread.
Télécharger Boost 1.51 ici
N'hésitez pas à donner ici vos impressions sur cette version de boost :
Utilisez-vous Boost ?
Quelles bibliothèques font parties de tous vos projets ?
Quelles sont vos bibliothèques préférées ?
Quelles bibliothèques supplémentaires souhaiteriez-vous voir ?
****** Qu'est ce que Boost ?
Boost est une collection de bibliothèques génériques écrites en C++. Boost est gratuit et peut être utilisée avec tout type de programme (gratuit, commercial, opensource, sources fermées, etc.).
Boost vous permet ainsi de développer des programmes sans avoir à réinventer la roue en proposant des solutions très ouvertes à des besoins courants.
****** Que trouve-t-on dans Boost ?
En vrac et de façon non exhaustive, Boost propose des bibliothèques pour :
Boost.Asio : bibliothèque réseau générique
Boost.Bind : généralisation des std::bind1st et autres en attendant leur intégration dans C++0x
Boost.FileSystem : gestion générique des systèmes de fichiers
Boost.Interprocess : pour la communication entre les processus
Boost.Iterator : d'intéressant itérateurs et de quoi construire facilement les votres
Boost.Python : interfacer vos programmes C++ avec Python
Boost.Random : nombres aléatoires
Boost.Regex : gestion des expressions régulières
Boost.Signal : pas besoin de délégués ou de précompilation et autres moc pour implémenter des signaux et des slots
Boost.Smart Pointer : pointeurs intelligents pour ne plus avoir de problèmes de mémoire
Boost.Thread : multithreading générique et facile
Boost.TR1 : pour les compilateurs n'ayant pas encore TR1
Beaucoup de bibliothèques pour la programmation générique
De nouveaux algorithmes ou conteneurs
De quoi gérer des graphes ou des automates,
Des Mathématiques,
etc.
Boost.Bind : généralisation des std::bind1st et autres en attendant leur intégration dans C++0x
Boost.FileSystem : gestion générique des systèmes de fichiers
Boost.Interprocess : pour la communication entre les processus
Boost.Iterator : d'intéressant itérateurs et de quoi construire facilement les votres
Boost.Python : interfacer vos programmes C++ avec Python
Boost.Random : nombres aléatoires
Boost.Regex : gestion des expressions régulières
Boost.Signal : pas besoin de délégués ou de précompilation et autres moc pour implémenter des signaux et des slots
Boost.Smart Pointer : pointeurs intelligents pour ne plus avoir de problèmes de mémoire
Boost.Thread : multithreading générique et facile
Boost.TR1 : pour les compilateurs n'ayant pas encore TR1
Beaucoup de bibliothèques pour la programmation générique
De nouveaux algorithmes ou conteneurs
De quoi gérer des graphes ou des automates,
Des Mathématiques,
etc.
****** C'est si bien que ça Boost ?
Cette collection de bibliothèques propose une approche moderne pour le développement C++. Le code est ouvert et fait l'objet de revue de la part de la communauté pour assurer un code de qualité et ouvert. Beaucoup de ces propositions seront intégrées dans la future norme C++0x.
Mais laissons parler les grands noms :
"...one of the most highly regarded and expertly designed C++ library projects in the world."
Herb Sutter and Andrei Alexandrescu, C++ Coding Standards
Herb Sutter and Andrei Alexandrescu, C++ Coding Standards
"Item 55: Familiarize yourself with Boost."
Scott Meyers, Effective C++, 3rd Ed.
Scott Meyers, Effective C++, 3rd Ed.
"The obvious solution for most programmers is to use a library that provides an elegant and efficient platform independent to needed services. Examples are BOOST..."
Bjarne Stroustrup, Abstraction, libraries, and efficiency in C++
Bjarne Stroustrup, Abstraction, libraries, and efficiency in C++
=> F.A.Q. : Questions sur Boost
=> Articles : Tutoriels sur des bibliothèques Boost
=> Livres : C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond de David Abrahams et Aleksey Gurtovoy