stringtranslate.com

Boost (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 , multiprocesamiento, 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 Boost están licenciadas bajo la Licencia de Software Boost, diseñada para permitir que Boost se use con proyectos de software libre y propietario. [4] Muchos de los fundadores de Boost están en el comité de estándares de C++ , y varias bibliotecas 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, aleatorios, proporción, tuplas) [5] [6] y el estándar C++17 (por ejemplo, sistema de archivos, cualquiera, opcional, variante, string_view). [7]

La comunidad Boost surgió alrededor de 1998, cuando se publicó la primera versión del estándar. Desde entonces ha crecido continuamente y ahora desempeña un papel importante en la estandarización de C++. Aunque no existe una relación formal entre la comunidad Boost y el comité de estandarización, algunos de los desarrolladores participan activamente en ambos grupos.

Diseño

Las bibliotecas están dirigidas a una amplia gama de usuarios de C++ y dominios de aplicación. Abarcan desde bibliotecas de uso general como la biblioteca de punteros inteligentes , pasando por abstracciones de sistemas operativos como Boost FileSystem , hasta bibliotecas dirigidas principalmente a otros desarrolladores de bibliotecas y usuarios avanzados de C++, como la metaprogramación de plantillas (MPL) y la creación de lenguajes específicos de dominio (DSL) (Proto).

Para garantizar la eficiencia y la flexibilidad, Boost hace un uso extensivo de plantillas . Boost ha sido una fuente de amplios trabajos e investigaciones sobre programación genérica y metaprogramación en C++. [8]

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

Personas asociadas

Entre los fundadores originales de Boost que aún están activos en la comunidad se encuentra David Abrahams . Nicolai Josuttis, autor de varios libros sobre C++, contribuyó a la biblioteca de matrices Boost en 2001. Existen listas de correo dedicadas al uso y desarrollo de bibliotecas Boost, activas a partir de 2023. [ 11]

Licencia

Boost está licenciado bajo su propia licencia libre y de código abierto , conocida como Boost Software License. [13] Es una licencia permisiva al estilo de la licencia BSD y la licencia MIT , pero sin requerir atribución para la redistribución en forma binaria . [14] La licencia ha sido aprobada por OSI desde febrero de 2008 [15] [16] y es considerada una licencia de software libre , compatible con la Licencia Pública General GNU , por la Free Software Foundation . [12]

Véase también

Referencias

  1. ^ "Versiones antiguas" . Consultado el 11 de abril de 2017 .
  2. ^ "Versión 1.86.0".
  3. ^ "Lista de bibliotecas Boost".
  4. ^ "Licencia de software de Boost". www.boost.org . Consultado el 6 de enero de 2022 .
  5. ^ "Library Technical Report". JTC1/SC22/WG21 - Comité de estándares de C++. 2 de julio de 2003. Consultado el 1 de febrero de 2012 .
  6. ^ "Una API de subprocesos para C++".
  7. ^ "Sitio StackOverflow.com".
  8. ^ Abrahams, David; Gurtovoy, Aleksey (10 de diciembre de 2004). Metaprogramación de plantillas de C++: conceptos, herramientas y técnicas de Boost y más allá . Pearson Education. pág. 408.
  9. ^ "Sitio web de Asio".
  10. ^ "Sitio web de Spirit".
  11. ^ "Listas de correo de impulso (también conocidas como grupos de discusión)" . Consultado el 28 de abril de 2020 .
  12. ^ abcd "Varias licencias y comentarios sobre ellas - Proyecto GNU - Free Software Foundation (FSF)".
  13. ^ "Licencia de software Boost - Versión 1.0" (TXT) . 17 de agosto de 2003. Consultado el 22 de diciembre de 2023 .
  14. ^ Dawes, Beman. "Impulsar la licencia de software" . Consultado el 1 de agosto de 2016 .
  15. ^ "Archivo de listas de correo de Boost". Archivado desde el original el 7 de noviembre de 2016.
  16. ^ "Licencia de software Boost 1.0 (BSL-1.0) | Iniciativa de código abierto". 5 de febrero de 2008.

Lectura adicional

Enlaces externos