Vés al contingut

Boost (biblioteca C++)

De la Viquipèdia, l'enciclopèdia lliure
Boost (biblioteca C++)

Tipusbiblioteca informàtica i programari lliure Modifica el valor a Wikidata
Versió estable
1.86.0 (14 agost 2024) Modifica el valor a Wikidata
LlicènciaBoost Software License (en) Tradueix Modifica el valor a Wikidata
Part deSoftware Freedom Conservancy Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
PlataformaBiblioteca estàndard de C++
Escrit enC++ Modifica el valor a Wikidata
Més informació
Lloc webboost.org (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata
SourceForgeboost Modifica el valor a Wikidata
Free Software DirectoryBoost Modifica el valor a Wikidata
Guia d'usuariGuia d'usuari Modifica el valor a Wikidata

GitHub: boostorg

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]
  1. «List of Boost libraries» (en anglès).
  2. «Boost Software License» (en anglès). www.boost.org. [Consulta: 6 gener 2022].
  3. «Library Technical Report» (en anglès). JTC1/SC22/WG21 - The C++ Standards Committee, 02-07-2003. [Consulta: 1r febrer 2012].
  4. «A Threading API for C++» (en anglès).
  5. «StackOverflow.com site» (en anglès).
  6. «Asio web site» (en anglès).
  7. «Spirit web-site» (en anglès).