Boost (biblioteca C++)
Tipus | biblioteca informàtica i programari lliure |
---|---|
Versió estable | |
Llicència | Boost Software License (en) |
Part de | Software Freedom Conservancy |
Característiques tècniques | |
Sistema operatiu | multiplataforma |
Plataforma | Biblioteca estàndard de C++ |
Escrit en | C++ |
Més informació | |
Lloc web | boost.org (anglès) |
Stack Exchange | Etiqueta |
SourceForge | boost |
Free Software Directory | Boost |
Guia d'usuari | Guia d'usuari |
| |
Boost és un conjunt de biblioteques per al llenguatge de programació C++ que ofereix suport per a tasques i estructures com ara àlgebra lineal, generació de nombres pseudoaleatoris, multiprocés, processament d'imatges, expressions regulars i proves d'unitats. Conté 164 biblioteques individuals (a partir de la versió 1.76).[1]
Totes les biblioteques de Boost tenen llicència sota la llicència de programari Boost, dissenyada per permetre que Boost s'utilitzi tant amb projectes de programari lliure com propietari.[2] Molts dels fundadors de Boost formen part del comitè d'estàndards de C++, i s'han acceptat diverses biblioteques de Boost per incorporar-les a l'Informe tècnic de C++ 1, l'estàndard C++ 11 (per exemple, punters intel·ligents, thread, regex, aleatori, proporció, tupla) [3][4] i l'estàndard C++17 (per exemple, sistema de fitxers, qualsevol, opcional, variant, string_view).[5]
La comunitat Boost va sorgir al voltant de 1998, quan es va publicar la primera versió de l'estàndard. Ha crescut contínuament des de llavors i ara juga un paper important en l'estandardització de C++. Tot i que no hi ha cap relació formal entre la comunitat Boost i el comitè d'estandardització, alguns dels desenvolupadors estan actius en ambdós grups.
Disseny
[modifica]Les biblioteques estan dirigides a una àmplia gamma d'usuaris de C++ i dominis d'aplicacions. Van des de biblioteques de propòsit general com la biblioteca de punters intel·ligents, fins a abstraccions del sistema operatiu com Boost FileSystem, fins a biblioteques adreçades principalment a altres desenvolupadors de biblioteques i usuaris avançats de C++, com la metaprogramació de plantilles (MPL) i la creació de llenguatge específic de domini (DSL). (Proto).
Per tal de garantir l'eficiència i la flexibilitat, Boost fa un ús extensiu de plantilles. Boost ha estat una font d'extensos treballs i investigacions sobre programació genèrica i metaprogramació en C++.
La majoria de les biblioteques de Boost es basen en capçaleres, consisteixen en funcions i plantilles en línia i, per tant, no cal que es construeixin abans del seu ús. Algunes biblioteques Boost coexisteixen com a biblioteques independents.[6][7]
Referències
[modifica]- ↑ «List of Boost libraries» (en anglès).
- ↑ «Boost Software License» (en anglès). www.boost.org. [Consulta: 6 gener 2022].
- ↑ «Library Technical Report» (en anglès). JTC1/SC22/WG21 - The C++ Standards Committee, 02-07-2003. [Consulta: 1r febrer 2012].
- ↑ «A Threading API for C++» (en anglès).
- ↑ «StackOverflow.com site» (en anglès).
- ↑ «Asio web site» (en anglès).
- ↑ «Spirit web-site» (en anglès).