Développé par | Projet Boost |
---|---|
Dernière version | 1.87.0 ()[1] |
Dépôt | github.com/boostorg/boost |
Assurance qualité | Intégration continue |
Écrit en | C++ |
Système d'exploitation | Multiplateforme |
Environnement | Multiplate-forme |
Type | Ensemble de bibliothèques C++ |
Licence | Licence logicielle Boost |
Documentation | www.boost.org/doc/libs/release |
Site web | www.boost.org |
Boost est une collection de bibliothèques logicielles utilisées en programmation C++.
Référentiel et standards
Le projet Boost forme un référentiel complémentaire à la bibliothèque standard C++. Plusieurs bibliothèques initialement développées par le projet Boost ont ensuite été intégrées à cette bibliothèque standard au travers des différentes normes C++11, C++14, C++17, C++20.
L’écriture des modules au sein de cet ensemble est soumise à un comité de lecture, et la plupart des fondateurs du projet font partie du comité du standard C++.
Licence logicielle Boost
L’ensemble du référentiel est distribué sous une licence de logiciel libre permissive sans copyleft favorisant son intégration dans du logiciel propriétaire[2].
Conception
Les bibliothèques sont destinées à un large éventail d'utilisateurs et de domaines d'application en C++. Elles vont des bibliothèques polyvalentes telles que la bibliothèque de pointeur intelligent, aux abstractions de système d'exploitation telles que Boost FileSystem, en passant par les bibliothèques principalement destinées aux développeurs de bibliothèques et aux utilisateurs avancés de C++, comme la métaprogrammation avec des patrons (MPL) et la création de langage dédié (DSL) (Proto).
Afin de garantir efficacité et flexibilité, Boost fait un usage intensif des templates. Boost a été une source de travaux et de recherches approfondis en programmation générique et en méta-programmation en C++[3].
La plupart des bibliothèques Boost sont basées sur des en-tête, composées de fonction en ligne et de modèles, et en tant que telles, elles n'ont pas besoin d'être construites préalablement à leur utilisation. Certaines bibliothèques Boost coexistent en tant que bibliothèques indépendantes[4],[5].
Notes et références
- ↑ « Release 1.87.0 », (consulté le )
- ↑ « FAQ Boost », sur cpp.developpez.com, (consulté le )
- ↑ David Abrahams et Aleksey Gurtovoy, C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond, Pearson Education, , 408 p.
- ↑ « Site web Asio »
- ↑ « Site web Spirit »
Annexes
Articles connexes
Liens externes
- (en) Site officiel
- (en) Documentation officielle