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).
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. 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) i l'estàndard C++17 (per exemple, sistema de fitxers, qualsevol, opcional, variant, string_view).
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 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.
Referències
Categoria:C++