stringtranslate.com

Boost (библиотеки C++)

Boost — это набор библиотек для языка программирования C++ , который обеспечивает поддержку таких задач и структур, как линейная алгебра , генерация псевдослучайных чисел , многопоточность, обработка изображений , регулярные выражения и модульное тестирование . Он содержит 164 отдельные библиотеки (начиная с версии 1.76). [3]

Все библиотеки Boost лицензированы в соответствии с лицензией Boost Software License, разработанной для того, чтобы Boost можно было использовать как с бесплатными , так и с проприетарными программными проектами. [4] Многие из основателей Boost входят в комитет по стандартам C++ , и несколько библиотек Boost были приняты для включения в Технический отчет C++ 1 , стандарт C++11 (например, интеллектуальные указатели, поток, регулярные выражения, случайные числа, отношение, кортеж) [5] [6] и стандарт C++17 (например, файловая система, любой, необязательный, вариант, string_view). [7]

Сообщество Boost возникло около 1998 года, когда была выпущена первая версия стандарта. С тех пор оно непрерывно росло и теперь играет большую роль в стандартизации C++. Несмотря на отсутствие формальных отношений между сообществом Boost и комитетом по стандартизации, некоторые разработчики активно работают в обеих группах.

Дизайн

Библиотеки нацелены на широкий круг пользователей C++ и прикладных областей. Они варьируются от библиотек общего назначения, таких как библиотека интеллектуальных указателей , до абстракций операционной системы , таких как Boost FileSystem , и библиотек, в первую очередь нацеленных на других разработчиков библиотек и продвинутых пользователей C++, таких как метапрограммирование шаблонов (MPL) и создание предметно-ориентированного языка (DSL) (Proto).

Для обеспечения эффективности и гибкости Boost широко использует шаблоны . Boost стал источником обширной работы и исследований в области обобщенного программирования и метапрограммирования в C++. [8]

Большинство библиотек Boost основаны на заголовках , состоят из встроенных функций и шаблонов, и, как таковые, не требуют сборки перед использованием. Некоторые библиотеки Boost сосуществуют как независимые библиотеки. [9] [10]

Ассоциированные люди

Среди основателей Boost, которые до сих пор активны в сообществе, есть Дэвид Абрахамс . Автор нескольких книг по C++, Николай Джосуттис, внес вклад в библиотеку массивов Boost в 2001 году. Существуют списки рассылки, посвященные использованию библиотеки Boost и разработке библиотеки, активные по состоянию на 2023 год . [11]

Лицензия

Boost лицензируется по собственной свободной лицензии с открытым исходным кодом , известной как Boost Software License. [13] Это разрешительная лицензия в стиле лицензии BSD и лицензии MIT , но без требования указания авторства для распространения в двоичной форме . [14] Лицензия была одобрена OSI с февраля 2008 года [15] [16] и считается лицензией свободного программного обеспечения , совместимой с GNU General Public License , организацией Free Software Foundation . [12]

Смотрите также

Ссылки

  1. ^ "Старые версии" . Получено 11 апреля 2017 г.
  2. ^ "Версия 1.86.0".
  3. ^ "Список библиотек Boost".
  4. ^ "Boost Software License". www.boost.org . Получено 2022-01-06 .
  5. ^ "Технический отчет библиотеки". JTC1/SC22/WG21 - Комитет по стандартам C++. 2 июля 2003 г. Получено 1 февраля 2012 г.
  6. ^ «API потоков для C++».
  7. ^ "Сайт StackOverflow.com".
  8. ^ Абрахамс, Дэвид; Гуртовой, Алексей (10 декабря 2004 г.). Метапрограммирование шаблонов C++: концепции, инструменты и методы из Boost и далее . Pearson Education. стр. 408.
  9. ^ "Веб-сайт Asio".
  10. ^ "Сайт Spirit".
  11. ^ "Boost Mailing Lists (AKA Discussion Groups)" . Получено 28 апреля 2020 г. .
  12. ^ abcd «Различные лицензии и комментарии о них — Проект GNU — Фонд свободного программного обеспечения (FSF)».
  13. ^ "Boost Software License - Version 1.0" (TXT) . 17 августа 2003 г. Получено 22 декабря 2023 г.
  14. ^ Дауэс, Беман. «Лицензия на программное обеспечение Boost» . Проверено 1 августа 2016 г.
  15. ^ "Архив рассылки Boost". Архивировано из оригинала 2016-11-07.
  16. ^ "Boost Software License 1.0 (BSL-1.0) | Open Source Initiative". 5 февраля 2008 г.

Дальнейшее чтение

Внешние ссылки