Impulsar (bibliotecas de C++)


Boost es un conjunto de bibliotecas para el lenguaje de programación C++ que brinda soporte para tareas y estructuras como álgebra lineal , generación de números pseudoaleatorios , subprocesos múltiples, procesamiento de imágenes , expresiones regulares y pruebas unitarias . Contiene 164 bibliotecas individuales (a partir de la versión 1.76). [3]

Todas las bibliotecas de Boost tienen licencia de Boost Software License , diseñada para permitir que Boost se use con proyectos de software tanto gratuitos como propietarios . [4] Muchos de los fundadores de Boost están en el comité de estándares de C++ , y varias bibliotecas de Boost han sido aceptadas para su incorporación en el Informe técnico de C++ 1 , el estándar C++11 (por ejemplo, punteros inteligentes, subprocesos, expresiones regulares, aleatorias, proporciones, tuplas ) [5] [6] y el estándar C++17 (por ejemplo, sistema de archivos, cualquiera, opcional, variante, string_view). [7]

Las bibliotecas están dirigidas a una amplia gama de usuarios de C++ y dominios de aplicaciones. Van desde bibliotecas de uso general, como la biblioteca de puntero inteligente , hasta abstracciones del sistema operativo, como Boost FileSystem , y bibliotecas dirigidas principalmente a otros desarrolladores de bibliotecas y usuarios avanzados de C++, como la creación de metaprogramación de plantillas (MPL) y lenguaje específico de dominio (DSL). (Proto).

Para garantizar la eficiencia y la flexibilidad, Boost hace un uso extensivo de plantillas . Boost ha sido una fuente de extenso trabajo e investigación sobre programación genérica y metaprogramación en C++. [ cita requerida ]

La mayoría de las bibliotecas de Boost se basan en encabezados y consisten en funciones y plantillas en línea y, como tales, no es necesario crearlas antes de su uso. Algunas bibliotecas de Boost coexisten como bibliotecas independientes. [8] [9]

Los fundadores originales de Boost que todavía están activos en la comunidad incluyen a David Abrahams . Nicolai Josuttis, autor de varios libros sobre C++, contribuyó a la biblioteca de arreglos de Boost en 2001. Hay listas de correo dedicadas al uso y desarrollo de bibliotecas de Boost, activas a partir de 2020 . [10]